# Default Button in Dialogs(Ok und Cancel)



## SebiB90 (30. Mrz 2006)

naja wusste nicht so richtig wie ich das thema nennen sollte, also was ich vor hab. ich hab ein dialog in dem es ein ok und ein cancel button gibt, jetzt wollte ich diese buttons so einrichten, das wenn ich auf Enter drücke der OK button gedrückt wird egal ob er focus hat oder nicht und wenn ich esc drücke das der cancel button gedrückt wird. Kenn das von VB her das man sowas machen kann, aber weiß net ob es schon methoden für sowas in Java gibt. also bräuchte sowas wie setAccelerator bei MenuItem nur für normalen Button.

Danke im vorraus.


----------



## tini (30. Mrz 2006)

```
/**
	 * Makes the OK-Button react on pressing the ENTER-Key
	 * @param button the button that should listen for the ENTER-Key
	 */
	public static void setOkButton(final JButton button) {
        button.getActionMap().put("ENTER", new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                final ActionListener[] al = button.getActionListeners();
                for(int i=0; i<al.length; i++) al[i].actionPerformed(e);
            }
        });
        button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ENTER" );
    }
    
	/**
	 * Makes the Abbrechen-Button react on pressing the ESC-Key
	 * @param button the button that should listen for the ESC-Key
	 */
	
    public static void setCancelButton(final JButton button) {
        button.getActionMap().put("CANCEL", new AbstractAction() {
            private static final long serialVersionUID = 348515587420735350L;
            public void actionPerformed(ActionEvent e) {
                final ActionListener[] al = button.getActionListeners();
                for(int i=0; i<al.length; i++) al[i].actionPerformed(e);
            }
        });
        button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "CANCEL" );
    }
```


----------



## SebiB90 (30. Mrz 2006)

Danke, funktioniert Prima


----------



## tini (30. Mrz 2006)

Ich weiß.  :bae:


----------



## Gelöschtes Mitglied 9001 (22. Jan 2007)

So in der Form geht es leider nicht mit AWT. Weiß jemand, wie man es dort macht?

Danke!
Rajmund


----------

