Java 为JButtons添加全局键绑定?
我有:Java 为JButtons添加全局键绑定?,java,swing,user-interface,jbutton,Java,Swing,User Interface,Jbutton,我有: for(int i=0;i为每个按钮使用键绑定。请参阅 例如,在创建中添加下一个代码: for (int i = 0; i <= 9; i++) { JButton c = new JButton(); c.setText(Integer.toString(i)); ActionListener l = new NumericButtonListener(i); c.addActionListener(l);
for(int i=0;i为每个按钮使用键绑定。请参阅
例如,在创建中添加下一个代码:
for (int i = 0; i <= 9; i++) {
JButton c = new JButton();
c.setText(Integer.toString(i));
ActionListener l = new NumericButtonListener(i);
c.addActionListener(l);
buttonGrid.add(c); }
您可以使用keyBindings
并为特定键分配一个公共操作
使用按钮的函数生成操作事件并侦听它。您需要在按下映射键的特定按钮上调用此函数。例如:
c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(Integer.toString(i)), "doSomething");
c.getActionMap ().put("doSomething", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.out.println(c.getText());
}
});
实现ActionListener。稍后在actionPerformed方法中使用getActionCommand方法进行检查。@subash抱歉,我不明白?
Action generateClick = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
JButton butt = (JButton) e.getSource();
butt.doClick();
}
};