JTextPane显示英语字符和urdu

时间:2011-12-02 16:38:16

标签: java swing jtextpane

enter image description here

这是我的乌尔都语文本编辑器的图像。

正如您所看到的,当我尝试显示乌尔都语字符时,英语字符也会显示出来。

我正在为这个文本组件实现我自己的键盘监听器,当有按键时,我将该键作为一个字符,将其翻译为相应的Urdu,使用document.insertString()方法将其插入textPane中,但英文字符也会自动显示。

我该怎么做才能让这个英文字符不显示在组件中,只显示我从英语翻译的乌尔都语字符?


@Harrison F:这是您要求的代码

char b = e.getKeyChar();// e is the object of class KeyEvent
char c = Translate.translateToUrdu(b);// its my own class for translation
s = s+c;// converting the character to string.
doc.insertString(carretPos,s,null);       // inserting into the document
s = ""; //setting the string object to "" so that next time i can use it again.

编辑:我的问题是通过实施扩展DocumentFilter然后覆盖其insertStringreplaceString方法的类来解决的。现在还存在另一个问题,就是我的回车键现在不能正常工作以及其他一些控制键如ctrl。如何使这些键在我的文档过滤器中工作?

1 个答案:

答案 0 :(得分:0)

s = s+c锁定怀疑。

已经尝试过了 char c = Translate.translateToUrdu(e.getKeyChar()); doc.insertString(carretPos,new String(c),null);