在 Java 中移动光标

Posted

技术标签:

【中文标题】在 Java 中移动光标【英文标题】:Moving the cursor in Java 【发布时间】:2011-05-13 00:00:44 【问题描述】:

我想制作一个应用来测量光标与组件中心的距离,然后将光标移回中心(就像大多数 PC 视频游戏一样)。有人有什么建议吗?

【问题讨论】:

【参考方案1】:

机器人课程可以为您解决问题。下面是移动鼠标光标的示例代码:

try 
    // These coordinates are screen coordinates
    int xCoord = 500;
    int yCoord = 500;

    // Move the cursor
    Robot robot = new Robot();
    robot.mouseMove(xCoord, yCoord);
 catch (AWTException e) 

【讨论】:

【参考方案2】:

您好,这只是添加。我经常使用 Raspberry PI,所以我必须学习如何优化我的代码,这会更短。

try 
    //moves mouse to the middle of the screen
    new Robot().mouseMove((int) Toolkit.getDefaultToolkit().getScreenSize().getWidth() / 2, (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight() / 2);
    //remember to use try-catch block (always, and remember to delete this)
 catch (AWTException e) 
    e.printStackTrace();

别忘了导入:

import java.awt.*;

【讨论】:

我很困惑...您是在谈论将源代码存储在 Pi 上吗?或者这是否会神奇地使编译后的文件变小?如果是后者,为什么要删除评论? 嗯,变量越少越好,你想让它非常紧凑,这样它就不会在 RAM 上造成溢出。 但无论如何它都会在您的代码中生成临时变量。点链是语法糖,但最终,每个方法的返回值都必须保存并跟踪到某个地方 另外,您的计算量更大,必须获取默认工具包及其屏幕尺寸两次。由于默认工具包是单例,因此预先保存对它的引用不会占用更多内存,但会节省计算时间。我不确定屏幕大小,但我愿意打赌它也会被缓存并返回,因此保存对它的引用也不应该占用更多内存。

以上是关于在 Java 中移动光标的主要内容,如果未能解决你的问题,请参考以下文章

Vim中如何移动光标

如何在 DataGridView c# 中移动光标

在 C 程序中移动光标

怎样用键盘移动光标?

vi下光标移动

OSX移动光标事件在网络浏览器中不起作用