gpt4 book ai didi

java - 我如何在 gedit linux 中输入在 java 中输入的文本?

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:15 24 4
gpt4 key购买 nike

我正在进行我的项目。在其中我必须接受触摸板坐标,并基于此我正在尝试开发一个覆盖在触摸板上的键盘。我使用 Java 作为我的语言。

并通过 linux 开发它。想知道如何在 gedit 中直接在 java 上输入文本。有没有办法让我输入 gedit 中识别的文本?

(文本编辑器 - 建议是否有任何其他文本编辑器可以这样做?

最佳答案

以下代码片段是如何在 Java 中生成按键事件的示例。

import java.awt.Robot;
import java.awt.event.KeyEvent;

public class Main {
public static void main(String[] argv) throws Exception {

Robot robot = new Robot();

robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);

}
}

下面是Java官方教程How to Write a Mouse Listener提供了如何编写鼠标事件监听器的示例。

您要做的是根据 MouseListener 在 Click 事件上的位置生成 keyPress 事件。

在您的 MousePressed 处理程序中,您将使用 MouseEvent 的 getXOnScreen()getYOnScreen() 方法获取 x 和 y 坐标,然后取决于它们的值生成与机器人相关的 KeyPress

如果您真的想要原始触摸板坐标位置,而不是触摸板上光标在屏幕上的位置,我认为您无法使用 Java 做到这一点。

正如 Kazekage Gaara 发布的那样,运行时和进程将为您启动 gedit,然后您可以使用生成的鼠标事件和按键事件在其中输入内容。

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("/usr/bin/gedit");

为什么要在文本编辑器中输入并保存文件,而不是使用 standard Java IO 将按键生成的字符直接输入到文件中? ,我不知道。

如果您正在启动外部程序来执行这些操作,那么您可以从外部程序xev 中获取触摸板坐标。

关于java - 我如何在 gedit linux 中输入在 java 中输入的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643745/

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