我的应用程序中有多个JButton。用鼠标单击按钮时,将显示正确的消息。但是,当我尝试在按键时选择一个按钮时,它会显示第一个值,即按钮的值不变。我希望能够在按下键盘上的“ C”键时选择多个按钮。下面是代码:
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JButton) {
String text = ((JButton) e.getSource()).getText();
JOptionPane.showMessageDialog(null, text);
}
}
};
for (int i = 1; i < button.length; i++) {
button[i] = new JButton(String.valueOf(i));
button[i].addActionListener(listener);
panel11.add(button[i]);
_targetItems.addFirst(button[i]); // target items is a linked list
}
最佳答案
您可以创建一个键侦听器对象。然后将其附加到所有按钮。
KeyListener keyListener = new KeyListner {
//Override the specific action you want here
...
}
button[0].addKeyListener(keyListener); //reuse the same listener for your buttons
...
https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
关于java - Java JButton ActionListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39835125/