2015-12-12 14 views
1

我想要捕捉輸入到Java Swing應用程序鍵盤的鍵或鍵組合(例如'b',Shift-b,Alt-b和Shift-Alt-b)。我想爲鍵盤上的每個鍵執行此操作。一旦密鑰被困住,我想用我選擇的另一個字符或字符串替換它,並將替代字符或字符串顯示在JTextPane對象中,在JTextPane中原始字符輸入的相同位置。如何將Java Swing中的鍵盤輸入映射到另一個字符或字符串?

這個想法是將普通QWERTY鍵盤的鍵映射到另一個腳本和語言(如印地語)的字符。

我能夠捕獲QWERTY鍵盤的按鍵就好,使用下面這種代碼:

JTextPane textPane = new JTextPane(); 
KeyStroke key = KeyStroke.getKeyStroke('b'); 

InputMap inputMap = textPane.getInputMap(); 
inputMap.put(key, DefaultEditorKit.forwardAction); 

然而,對於InputMap中,我只能夠替代擊鍵另一個「行動」像DefaultEditorKit.forwardAction,而不是另一個字符或字符串。我不一定非要使用InputMap - 任何允許我將鍵盤輸入映射到另一個字符或String的方法都可以。

感謝, 桑迪普

+0

交叉點:http://www.coderanch.com/t/658968/GUI/java/map-Keyboard-Entry-Java-Swing – camickr

回答

0

你可以看一下DefaultKeyTypedAction從類DefaultEditorKit看你如何綁定你的鑰匙。

相關問題