Java 按钮键盘快捷键
我有两个JButton,我想让键盘箭头键在JFrame有焦点时使用它们Java 按钮键盘快捷键,java,swing,keyboard,jbutton,shortcuts,Java,Swing,Keyboard,Jbutton,Shortcuts,我有两个JButton,我想让键盘箭头键在JFrame有焦点时使用它们 有人能给我指出正确的方向吗?要截取键而不必担心特定组件是否处于焦点,您应该使用InputMap。请仔细阅读,例如: 然后选择WHEN_IN_FOCUSED_窗口常数 除非所讨论的按钮仅调用单个方法,否则执行按钮所做操作的最佳方法是: SwingUtilities.invokeAndWait(new Runnable() { public void run() { ((AbstractButton) c
有人能给我指出正确的方向吗?要截取键而不必担心特定组件是否处于焦点,您应该使用InputMap。请仔细阅读,例如: 然后选择WHEN_IN_FOCUSED_窗口常数 除非所讨论的按钮仅调用单个方法,否则执行按钮所做操作的最佳方法是:
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
((AbstractButton) c).doClick();
}
});
从Swing的演示中修改
按钮的初始化:
// Sets the mnemonic to down, with no hint display
JButton down = new JButton(new DownAction("Down", null, "This is the down button", new Integer(KeyEvent.VK_DOWN));
行动:
class DownAction extends AbstractAction {
public DownAction(String text, ImageIcon icon,
String desc, Integer mnemonic) {
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
putValue(MNEMONIC_KEY, mnemonic);
}
public void actionPerformed(ActionEvent e) {
displayResult("Action for first button/menu item", e);
}
}
当你说你想让他们使用箭头键的时候,我想你的意思是你想转移注意力。如果是这种情况,请阅读上的Swing教程中的部分。它给出了一个如何使用Enter键进行此操作的示例