JButtonを押してトリガーする方法を聞くには?例えばJavaボタンとキーボードのボタンを聴く
:
私は、パネル上のGUIとして、 "A" のJButtonを持っています。私は "aButton"に実装されたbuttonListenerを持っています。これは画面を他のものに変更します。マウスのクリックとキーボードの押下の両方でこのボタンをトリガーしたい。
buttonListenerを実装しているときにキーボードの「a」を押してこの「A」JButtonをトリガーするにはどうすればよいですか?
現在のコードでキーイベントがトリガーされません。
ButtonListener listener;
KeyboardListener keyboardListener;
private JButton aButton;
public MyButtonPanel() {
listener = new ButtonListener();
aButton = new JButton ("A");
aButton.setFont (BUTTON_TEXT);
aButton.setPreferredSize (new Dimension (60,30));
aButton.addActionListener (listener);
aButton.addKeyListener (keyboardListener);
setLayout (new BorderLayout());
add (aButton, BorderLayout.CENTER);
}
private class KeyboardListener implements KeyListener
{
public void keyPressed(KeyEvent arg0) {
char c = arg0.getKeyChar();
System.out.println("Pressed " + c);
}
public void keyReleased(KeyEvent arg0) {
char c = arg0.getKeyChar();
System.out.println("Released " + c);
}
public void keyTyped(KeyEvent arg0) {
char c = arg0.getKeyChar();
System.out.println("Typed " + c);
}
}
private class ButtonListener implements ActionListener {
public void actionPerformed (ActionEvent event) {
Object source = event.getSource();
if (source == aButton) {
System.out.println("This is a");
}
}
}
}
..私は見 – Sean
ストロークだから私はちょうど使用することができ、ここでhttp://docs.oracle.com/javase/tutorial/uiswing/components/button.html キーボードにするJButtonをリンクする例があり、ニーモニック年代についてお読みくださいこのようなものb3.setMnemonic(KeyEvent.VK_E); b3.setActionCommand( "enable"); – nowhere