Это изображение моего текстового редактора на урду.
Как вы можете видеть, когда я пытаюсь отобразить символы урду, также появляются английские символы.
Я реализую свой собственный слушатель клавиатуры для этого текстового компонента, и когда когда-либо происходит нажатие клавиши, я получаю эту клавишу как символ, транслирую ее в соответствующий урду, вставляю ее в 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.Как я могу заставить такие ключи работать в моем фильтре документов?