gpt4 book ai didi

java - Eclipse 插件计数点击/监听点击

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:50 25 4
gpt4 key购买 nike

我正在为 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 事件。

但是我该怎么做呢?

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

最佳答案

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

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

关于java - Eclipse 插件计数点击/监听点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16241578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com