我想在一个简单的计算器上添加一个使用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
}
}
添加回答
举报
0/150
提交
取消