有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中向光标位置发送Unicode文本

在学习语言学和语音学时,我经常需要使用某些特殊的音标。虽然我使用的是一种特殊的键盘布局,使我能够通过打字来书写其中的一些字符,但它们的组合键通常会变得非常复杂,并且高度重复,所以我想创建一个包含一些按钮的litle应用程序,无论屏幕上的哪个窗口处于焦点位置,它们都能够向当前光标位置发送指定的(语音)符号

在Java中可以做这种事情吗

我见过一种将值复制到剪贴板,然后粘贴它们(Java paste to current cursor position)的解决方案,但这不是一种非常干净的方法,不是吗?有没有比通过ctrl+V粘贴characteredr更好的方法

非常感谢您提前提供的任何帮助或建议

p


共 (1) 个答案

  1. # 1 楼答案

    可以使用AWT Robot生成按键事件。这不会提供插入任意unicode字符的功能,但您可以将其与前面描述的技术结合起来:将unicode字符传输到剪贴板,然后生成CTRL+V键事件。您可以尝试保存和恢复原始剪贴板内容,但这只适用于Java支持的类型

    注释中提到的焦点问题可以通过将窗口设置为不通过参数为false^{}接收焦点来解决

    另一种方法是通过拖放提供unicode文本;滴大多数应用程序都支持在输入字段中删除文本。导出文本的代码与剪贴板和d&;d在Java中使用相同的接口