我正在开发一个支持阿拉伯语文本的应用程序。我没有在其中使用系统级语言。用户只需按下键,然后根据该键,将阿拉伯 unicode 插入到 JTextArea 中。我创建了一个ArabicTextArea 类,并使用Swing 的JTextArea 对其进行了扩展。我在这个类中包含了一个覆盖函数 processKeyEvent(KeyEvent e)。现在我的问题是,每当我按下某个键时,此功能会触发 3 次,可能是 KeyDown 的第 1 次、KeyUp 的第 2 次和 KeyPressed 的第 3 次。我希望这个函数只触发一次,但我不知道如何。请有人帮我...
我正在使用以下代码
@Override
protected void processKeyEvent(KeyEvent event) {
switch (event.getKeyChar()) {
case 'a':
append("\u0627");
break;
case 'H':
append("\u062D");
break;
case 'm':
append("\u0645");
break;
case 'd':
append("\u062F");
break;
default:
super.processKeyEvent(event);
}
}