я добавил ENTER Ключ к FocusTraversalKeys по умолчанию как таковой ...Capture ENTER KeyEvent и делать Нажмите вместо
private void focus() {
Set forwardKeys = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
Set newForwardKeys = new java.util.HashSet(forwardKeys);
newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, newForwardKeys);
}
У меня есть информация о продукте форму, я прохожу с помощью фокус, но когда речь идет о к кнопке сохранения Я бы хотел, чтобы НАЖМИТЕ кнопку вместо фокуса, следующего на следующий компонент.
Я добавил Keypressed и KeyReleased слушателя к кнопке, а затем попытался это ...
private void saveButtonKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
evt.consume();
saveButton.doClick();
}
}
Этот же метод работает на моей текстовой области, но код не делает замковый вместо ставит акцент на следующем компоненте, который также является кнопкой.
Пожалуйста, предложите что-то, что поможет мне достичь требуемого результата. Найдите ниже изображение используемой формы.
http://tinypic.com/r/33acqy9/5
Вы можете установить ключи переноса фокусировки для кнопки по умолчанию (т.е. 'TAB'), что означает, что клавиша' ENTER' будет выполнять по умолчанию ... – MadProgrammer
@MadProgrammer Это то, что я уже сделал, установите Focus Ключ обхода всего в этом фрейме для включения ключа ENTER. Я хочу сделать эффект «Space bar», когда дело доходит до Button, и не переносить Focus на следующий компонент. – HMH
Вы также можете установить клавиши переноса фокусировки для отдельного компонента. Посмотрите на [answer by kleo] (http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) для получения дополнительной информации. – MadProgrammer