Я застрял на каком-то шаге и не могу добавить в свою программу комбинацию клавиш, например: CTRL+SPACE, я ищу одну неделю и не могу найти любые ответы.
Как добавить горячие клавиши в JTextField?
comment
Прочтите о привязках клавиш: docs.oracle.com/javase/tutorial/uiswing /misc/keybinding.html
- person Branislav Lazic   schedule 21.12.2012
Ответы (1)
Рекомендуем ознакомиться с учебником по Java, чтобы получить хороший обзор привязок клавиш.
Вот краткий пример:
import java.awt.event.*;
import javax.swing.*;
public class KeyBindings extends Box{
public KeyBindings(){
super(BoxLayout.Y_AXIS);
final JTextPane textArea = new JTextPane();
textArea.insertComponent(new JLabel("Text"));
add(textArea);
Action action = new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setText("New Text");
}};
String keyStrokeAndKey = "control SPACE";
KeyStroke keyStroke = KeyStroke.getKeyStroke(keyStrokeAndKey);
textArea.getInputMap().put(keyStroke, keyStrokeAndKey);
textArea.getActionMap().put(keyStrokeAndKey, action);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new KeyBindings());
frame.pack();
frame.setVisible(true);
}
}
person
Nick Rippe
schedule
20.12.2012
Угадай, что ! Это было сработано. Спасибо за совет и спасибо за решение, это то же самое для JTextField, и я буду искать keyBindings.
- person Azad; 21.12.2012