我正在为基于 Eclipse 的 IDE 编写一个 MagicDraw 插件。我希望应用程序在 15 分钟的空闲时间后关闭以释放许可证。
我首先实现了一个计数器,每 1000 毫秒检查一次鼠标位置。每次鼠标位置保持不变时,我都会减少计数器。当计数器达到 0 时,我关闭了应用程序。每次更改位置时,我都会重置计数器。
这里的问题是,如果应用程序打开并且用户只是在不同的窗口中移动他的鼠标,他不会被归类为空闲。
我的第二种方法是计算点击次数。但我面临的问题是我不知道如何将侦听器添加到完整的 IDE 窗口。
这是我到目前为止所拥有的。
package myplugin;
import java.awt.event.MouseListener;
public class CheckAct implements MouseListener{
private int timeleft;
private int permtime ;
public CheckAct(int initialTime){
this.setPermtime(initialTime);
this.setTimeleft(initialTime) ;
//Missing Addlistener Code
}
@Override
public void mouseClicked(java.awt.event.MouseEvent e) {
// TODO Auto-generated method stub
this.resetTime();
}
}
我//missing addlistenercode
相信我应该将侦听器添加到完整的 Eclipse 窗口以便能够使用 mouseClicked 事件。
但我该怎么做呢?
请注意,我只显示了相关代码。