我正在尝试制作一个GUI,它将阿拉伯语转换为罗马语;或其他方式。我要输出,因为用户正在实时输入输入!
我在GUI中使用JFrame
,在罗马/阿拉伯语中使用2 x JTextField
控件进行编辑/显示。
这是一种动态更改]的解决方案> textFieldRoman 输入时 textFieldArabic 反之亦然。希望有所帮助。
Toolkit.getDefaultToolkit().addAWTEventListener( new AWTEventListener() {
@Override
public void eventDispatched( AWTEvent event ) {
switch( event.getID() ) {
case KeyEvent.KEY_RELEASED:
// Your conversions Arabic to Roman depending if textFieldRoman or textFieldArabic has the focus
// best with actionArabic and actionRoman both of type AbstractAction
break;
case FocusEvent.FOCUS_GAINED:
// if textFieldRoman break; otherwise fallthrough - keeps the focus in one of the textfields
case WindowEvent.WINDOW_OPENED:
textFieldArabic.requestFocus(); // start with focused textFieldArabic
break;
}
}
}, AWTEvent.FOCUS_EVENT_MASK | AWTEvent.KEY_EVENT_MASK | AWTEvent.WINDOW_EVENT_MASK );