我有一个动作,需要一个加速器。更确切地说,对于 Ctrl + left 鼠标按钮单击我需要执行操作。我尝试过:
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.CTRL_DOWN_MASK, InputEvent.BUTTON1_DOWN_MASK));
但没有运气......
稍后修改...
我可以使用鼠标监听器来实现该功能,但我需要一个Action加速器,以便在添加到类似于此图像的弹出窗口时显示良好:
答案 0 :(得分:0)
您需要在MouseListener
上添加JPanel
,然后检查事件中是否按下了CTRL键。像这样:
@Override
public void mouseClicked(MouseEvent e) {
text.setText("Mouse clicked");
if(SwingUtilities.isLeftMouseButton(e) &&e.isControlDown()) {
text.setText("left + CTRL clicked");
}
}