在Java中向光标位置发送Unicode文本
在学习语言学和语音学时,我经常需要使用某些特殊的音标。虽然我使用的是一种特殊的键盘布局,使我能够通过打字来书写其中的一些字符,但它们的组合键通常会变得非常复杂,并且高度重复,所以我想创建一个包含一些按钮的litle应用程序,无论屏幕上的哪个窗口处于焦点位置,它们都能够向当前光标位置发送指定的(语音)符号
在Java中可以做这种事情吗
我见过一种将值复制到剪贴板,然后粘贴它们(Java paste to current cursor position)的解决方案,但这不是一种非常干净的方法,不是吗?有没有比通过ctrl+V粘贴characteredr更好的方法
非常感谢您提前提供的任何帮助或建议
p
# 1 楼答案
可以使用AWT Robot生成按键事件。这不会提供插入任意unicode字符的功能,但您可以将其与前面描述的技术结合起来:将unicode字符传输到剪贴板,然后生成
CTRL
+V
键事件。您可以尝试保存和恢复原始剪贴板内容,但这只适用于Java支持的类型注释中提到的焦点问题可以通过将窗口设置为不通过参数为} 接收焦点来解决
false
的^{另一种方法是通过拖放提供unicode文本;滴大多数应用程序都支持在输入字段中删除文本。导出文本的代码与剪贴板和d&;d在Java中使用相同的接口