加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java听按钮和键盘单击

发布时间:2020-12-15 08:47:39 所属栏目:Java 来源:网络整理
导读:如何按下按键并触发JButton? 例如: 我将“A”JButton作为面板上的GUI.我在“aButton”上实现了一个buttonListener,它会将屏幕更改为其他内容.我希望通过鼠标单击和键盘按下来触发此按钮. 如何在实现buttonListener的同时按下键盘上的“a”来触发这个“A”J
如何按下按键并触发JButton?

例如:

我将“A”JButton作为面板上的GUI.我在“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");
    }
  }
 }

}

解决方法

创建一个动作.然后使用ActionListener将Action添加到按钮.并且您通过将Action绑定到KeyStroke来处理键盘事件.

阅读Swing tutorial.有部分内容:

>如何使用操作
>如何使用键绑定

让你开始

或者您也可以只为该按钮指定一个助记符来调用该按钮.阅读JButton API.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读