JTextPane Отображение английского символа вместе с урду - PullRequest
0 голосов
/ 02 декабря 2011

enter image description here

Это изображение моего текстового редактора на урду.

Как вы можете видеть, когда я пытаюсь отобразить символы урду, также появляются английские символы.

Я реализую свой собственный слушатель клавиатуры для этого текстового компонента, и когда когда-либо происходит нажатие клавиши, я получаю эту клавишу как символ, транслирую ее в соответствующий урду, вставляю ее в textPane, используя метод document.insertString(), но английские символы также отображаются автоматически.

Что я могу сделать, чтобы этот английский символ не отображался в компоненте и отображал только символы урду, которые я переводил с английского?


@ 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, а затем переопределяет его методы insertString и replaceString.Теперь существует еще одна проблема, то есть моя клавиша ввода не работает и некоторые другие управляющие клавиши, такие как ctrl.Как я могу заставить такие ключи работать в моем фильтре документов?

1 Ответ

0 голосов
/ 03 декабря 2011

s = s+c подозревает блокировки.

Уже пробовал char c = Translate.translateToUrdu(e.getKeyChar()); doc.insertString(carretPos,new String(c),null);?

...