我想捕获输入到Java Swing应用程序键盘的键或键组合(例如'b',Shift-b,Alt-b和Shift-Alt-b)。我想为键盘上的每个键执行此操作。一旦密钥被捕获,我想用我选择的另一个字符或字符串替换它,并在JTextPane对象中显示替换字符或字符串,在JTextPane中输入原始字符的位置。
我们的想法是将普通QWERTY键盘的键映射到另一个脚本和语言的字符,如印地语。
我可以使用以下类型的代码捕获QWERTY键盘的键:
JTextPane textPane = new JTextPane();
KeyStroke key = KeyStroke.getKeyStroke('b');
InputMap inputMap = textPane.getInputMap();
inputMap.put(key, DefaultEditorKit.forwardAction);
但是对于InputMap,我只能将KeyStroke替换为另一个“Action”,如DefaultEditorKit.forwardAction,而不是另一个字符或String。我不一定要使用InputMap - 任何允许我将键盘条目映射到另一个字符或字符串的方法都可以。
谢谢, 和Sandeep
答案 0 :(得分:0)
您可以查看班级DefaultEditorKit
中的<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"/>
,了解如何绑定密钥。