JTextPane Отображение английского символа вместе с урду

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

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

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

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


@ Харрисон Ф: Вот код, который вы просите

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 ответ

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

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

Другие вопросы по тегам