Java JTable 添加了一个键盘事件,和鼠标点击事件的监听,如何在我键盘事件起作用时,让鼠标事件失效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java JTable 添加了一个键盘事件,和鼠标点击事件的监听,如何在我键盘事件起作用时,让鼠标事件失效相关的知识,希望对你有一定的参考价值。

情形是这样,监听键盘的Ctrl键,当我Ctrl键按下的时候,鼠标右键的事件就不起作用了,当我放开Ctrl键盘的时候,在点右键,鼠标事件又起作用了,求助如何可以做到?

先定义一个全局的静态变量 static bool canClick=ture;
1.鼠标右键点击的事件前加个if判断:
if(canClick)
鼠标点击事件事件


2.然后添加键盘事件implements KeyListener
在重写的方法的keyPressed中加入:
if(e.getKeyCode()==KeyEvent.VK_CONTROL)
canClick=false;

在重新的方法的keyReleased中加入:
if(e.getKeyCode()==KeyEvent.VK_CONTROL)
canClick=true;
追问

有没有在键盘事件起作用时,鼠标事件不生效的,放开后,在开启的,不用过boolean变量控制?

参考技术A 同时注册这两个事件:键盘事件、鼠标事件,再用一个类中的布尔变量 bCtrlPressed(默认是false),当CTRL按下是设置bCtrlPressed=true、释放时bCtrlPressed=false。

那么在鼠标事件中,就可以通过判断bCtrlPressed变量来是否起作用了追问

有没有在键盘事件起作用时,鼠标事件不生效的,放开后,在开启的,不用过boolean变量控制?

参考技术B 的事件监听器通常用于响应用户的动作,如鼠标点击,你说的这种情况下,似乎是直接计算的结果,将其设置为一个特定的单元格位置。

JS求助,键盘事件和单击事件,限制只执行一次

参考技术A

可以用jQuery的one方法只执行一次。

1、新建html文档,在body标签中添加一个按钮,然后在head标签中引入jQuery文件:

2、添加script标签,使用jQuery选择器将按钮选中,然后使用one方法,第一个参数为点击“click”,第二个参数为函数:

3、在函数中添加一些命令,这里以弹窗为例,这时只有第一次点击按钮才会弹窗:

以上是关于Java JTable 添加了一个键盘事件,和鼠标点击事件的监听,如何在我键盘事件起作用时,让鼠标事件失效的主要内容,如果未能解决你的问题,请参考以下文章

如何在JTable的单元格上禁用鼠标单击事件?

江湖救急 各位大侠 小弟用java设计时用到Jtable 谁知道选择里面的记录时 怎样使用监听事件啊 valuechanged

Java 鼠标获取 JTable 位置的移动

单击 JTable 时鼠标事件不起作用

JTable 鼠标事件响应和处理

java Jtable 如何动态添加button按钮