Eclipse插件计数单击/聆听单击

时间:2013-04-26 16:58:07

标签: java eclipse api plugins eclipse-plugin

我正在为MagicDraw编写一个基于eclipse的IDE插件。我希望应用程序在闲置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事件。

但我该怎么做?

请注意我只显示相关代码。

1 个答案:

答案 0 :(得分:1)

因为您正在使用eclipse,您可以使用SET来捕获鼠标事件。最简单的方法是在Display-Instance上注册一个Listener来获取所有应用程序窗口的所有事件。

PlatformUI.getWorkbench().getDisplay().addListener(SWT.MouseDown, new Listener() {
  @Override
  public void handleEvent(Event event) {
  //TODO
  }
});
相关问题