2013-03-31 1 views
4

У меня есть следующий код JButton в Java:Hotkey/Ярлык для JButton

enterButton = new JButton("Enter"); 
enterButton.setMnemonic(KeyEvent.VK_ENTER); // Shortcut: Alt + Enter 

вопрос просто: Вместо того, чтобы ярлык «Alt + Enter», как я установил ярлык «Enter» ?

Я просто предпочитаю нажать «Enter» вместо того, чтобы удерживать «Alt» и нажать «Enter»

ответ

6

У меня была такая же проблема: у меня есть форма всякий раз, когда я редактирую поле, я хочу нажать enter, чтобы он мог запустить событие actionPerformed.

Я установил его с этим: JPanel кнопку и остальные формы расположен на называется content: content.getRootPane().setDefaultButton(enterButton);

Это держит кнопку всегда выбранный таким образом при нажатии клавиши ввода, его соответствующее событие actionPerformed (не забудьте добавить к нему ActionListener!)

Надеюсь, это вам поможет!

С наилучшими пожеланиями,
ГЕКТОР

3

Вы можете сделать кнопку реагировать на ОТТ, с помощью специальной техники, тот, который работает только для Enter ключ , и для этого вы хотите получить JRootPane окна верхнего уровня, который отображает кнопку и вызывает setDefaultButton(myButton) на этой корневой панели.

т.е.

enterButton = new JButton("Enter") 

// after the enterButton has been added to the GUI and the GUI displayed, call: 
JRootPane rootPane = SwingUtilities.getRootPane(enterButton); 
rootPane.setDefaultButton(enterButton); 

В противном случае для не вводить ключи, вам нужно использовать привязки ключей, который является выполнимым, но требуют немного больше усилий.

+2

Малый Приложение: SwingUtilities не требуется, так как JComponent имеет [getRootPane()] (http://docs.oracle.com/javase/7/docs/api/javax /swing/JComponent.html#getRootPane%28%29). – VGR