Создание горячих клавиш для формы свинга Java - PullRequest
0 голосов
/ 21 декабря 2011

Как создать «горячие» клавиши для формы, созданной с помощью Java Swing? Например, форма создана для деталей учащегося. Если я нажму ALT + N, курсор переместится на поле ввода имени. ALT + R означает, что курсор будетПерейдите в Reg.no, введя Field.same, например, как mark1 (m1), mark (2) и т. д. В то же время форма содержит кнопки сохранения, кнопки выхода, если я нажимаю CTRL + S, означают, что кнопка Сохранить будет выбирать. CTRL + Xозначает, что кнопка выхода будет выбирать. как это сделать?

Ответы [ 3 ]

3 голосов
/ 21 декабря 2011

См. Как использовать привязки клавиш , затем использовать эти знания в сочетании с requestFocusInWindow().


CTRL + X означаетбудет выбрана кнопка выхода.

См. также setMnemonic(char) для кнопок и setAccelerator(KeyStroke) для пунктов меню.Или, в более общем смысле, построение этих элементов управления с использованием Action, для которого настроены значения.

2 голосов
/ 21 декабря 2011

означает, что если я нажму ALT + N, курсор переместится на это поле ввода имени

Обычно это делается с помощью пар JLabel / JTextField.Что-то вроде:

JLabel firstNameLabel = new JLabel("First Name");
JTextField firstNameTextField(15);
firstNameLabel.setLabelFor( firstNameTextField );
firstNameLabel.setDisplayedMnemonic( 'F' );
panel.add( firstNameLabel );
panel.add( firstNameTextField );

Затем с помощью Alt-F будет установлен фокус на текстовом поле.

Связывание клавиш будет выполнено автоматически для вас.

2 голосов
/ 21 декабря 2011

Пожалуйста, обратитесь по следующей ссылке

http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html Это может быть хорошее место для начала.

...