1
私のアプリには複数のJButtonがあります。マウスでボタンをクリックすると、正しいメッセージが表示されます。しかし、キーを押したときにボタンの1つを選択しようとすると、最初の値、つまりボタンの値は変化しません。あなたは、単一のキーリスナーオブジェクトを作成することができますJava JButton ActionListener
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
}
キー 'C' 押されたイベントをキャッチしようとしましたか?それはあなたのボタンで唯一のリスナーですか? – Kapcash
はい私はプログラムのリスナーとしてキー 'C'しか持っていません – user3668862
@ user3668862私は答えを投稿しましたが、あなたが探しているものと正確に一致しないことがあります。キープレスを聞くために使用しているコードを追加できますか? – Brion