为了账号安全,请及时绑定邮箱和手机立即绑定

Swing - 如何添加 Crtl + JButton 单击

Swing - 如何添加 Crtl + JButton 单击

狐的传说 2021-10-17 17:02:45
我想在一个简单的计算器上添加一个使用Ctrl键 +JButton单击鼠标的快捷选项。我知道如何输入Ctrl+ CusingKeyStroke但我不知道如何JButton使用鼠标单击来完成。这是我所拥有的:private void displayCopyRight() {    buttons[13].setAction(new AbstractAction("" + button_Shapes[13]) {        {            putValue(Action.ACTION_COMMAND_KEY, getValue(Action.NAME));        }        public void actionPerformed(ActionEvent e){            display.setText("[c] Khoa-Nguyen");        }    });    int c = JComponent.WHEN_IN_FOCUSED_WINDOW;    KeyStroke ks = KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_DOWN_MASK);    buttons[13].getInputMap(c).put(ks, button_Shapes[13]);    buttons[13].getActionMap().put(button_Shapes[13], buttons[13].getAction());        }这只会将键盘上的 Ctrl + 字母 C 绑定在一起。我想要做的是使用鼠标绑定 Ctrl + JButton 单击。按钮 [13] 是字母 C 作为 JButton。请帮忙。
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

您可以尝试检查 ActionEvent 的修饰符属性。它是一个掩码字段 如果Ctrl按住键,则可以测试修饰符字段的 ActionEvent.CTRL_MASK。


public void actionPerformed(ActionEvent e){

   if ((ActionEvent.CTRL_MASK & e.getModifiers()) != 0){

      // Do your action here

   }

}


查看完整回答
反对 回复 2021-10-17
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信