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);
?