我必须在鼠标指针工具提示上显示x,y坐标值。文本应该跟随鼠标指针。如何才能做到这一点。
从rcp应用程序中,我将单击一个按钮,然后应用程序将被最小化。然后,无论在哪里(在桌面/其他应用程序上)我移动鼠标指针,它应该显示一些附加到鼠标的文本。我知道如何找到鼠标指针位置的坐标,但我想在鼠标指针工具提示中显示这些值。
任何想法。
答案 0 :(得分:0)
不幸的是,您所要求的内容无法在SWT中完成。执行此操作以及通过Java / Eclipse / SWT应用程序进行通信/控制的唯一方法是通过Java Native Interface(JNI)。您可以编写本机程序(例如,在C ++中,用于特定操作系统)来监视光标并在屏幕上移动时更改其图像。您还可以将该本机程序中的数据传输到Java应用程序。但这是一个超越Java的整个世界。
SWT只能管理特定SWT控件上的光标。不在SWT控件之外,在桌面上或在其他应用程序的窗口之外。
现在,如果你可以满足于,打开一个小对话框/窗口(通过你的应用程序),可能藏在屏幕的一角(而不是鼠标光标),这显示了当前的鼠标位置完成。您必须在后台运行一个进程/线程,通过以下方式监视当前屏幕鼠标位置:
display.getCursorLocation();
基本上,进程/线程中的runnable只是处于无限循环中并读取光标位置,然后更新"输出框中的x,y coords。"
作为对此的扩展,你可以拥有一个小的,简单的SWT shell,"跟随"在光标中读取光标期间的光标。您只需根据当前光标位置更新shell的位置,并将该窗口中的文本(嵌套的Text控件)设置为适当的坐标。当然,我不知道"清洁"那会出现,因为我没有尝试过。但是,如果没有JNI,你可以在SWT中做到最好。
但在这些方法中,你不会改变实际的光标/图像。
希望有所帮助。