带有 java 中文本“工具提示”的鼠标指针



我必须在鼠标指针工具提示上显示x,y坐标值。文本应跟随鼠标指针。怎么能做到这一点。

从 rcp 应用程序中,我将单击一个按钮,然后应用程序将被最小化。然后,无论(在桌面/其他应用程序上)我移动鼠标指针的任何地方,它都应该显示一些附加到鼠标的文本。我知道如何找到鼠标指针位置的坐标,但我想在鼠标指针工具提示中显示这些值。

任何想法。

不幸的是,您所要求的内容无法在 SWT 中完成。做到这一点,并通过Java/Eclipse/SWT应用程序进行通信/控制的唯一方法是通过Java原生接口(JNI)。您可以编写一个本机程序(例如,C++,针对特定操作系统)来监视光标并在光标在屏幕上移动时更改其图像。您还可以将数据从该本机程序传输到您的 Java 应用程序。但那是Java之外的整个世界。

SWT 只能管理特定 SWT 控件上的光标。不在 SWT 控件之外、桌面上或其他应用的窗口上。

现在,如果您可以满足于拥有,比如说打开一个小对话框/窗口(通过您的应用程序),可能隐藏在屏幕的一角(而不是鼠标光标处),它显示了可以完成的当前鼠标位置。您必须在后台运行一个进程/线程,该进程/线程将通过以下方式监视当前屏幕鼠标位置:

display.getCursorLocation();

基本上,进程/线程中的可运行对象只是处于无限循环中并读取光标位置,然后更新"输出框"中的 x,y 坐标。

作为对此的扩展,您可以有一个小型的、基本的 SWT shell,它在线程中读取游标期间"跟随"光标。您只需根据当前光标位置更新 shell 的位置,并将该窗口中的文本(嵌套的 Text 控件)设置为适当的坐标。当然,我不知道这看起来有多"干净",因为我还没有尝试过。但这大约是您在没有 JNI 的情况下在 SWT 中可以做的最好的事情。

但是在这些方法中,您不会更改实际的光标/图像。

希望有帮助。

最新更新