Как изменить два JTextFileds в режиме реального времени? - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь создать графический интерфейс, который конвертирует арабский в римский;или другой способ. Я хочу выводить данные, так как пользователь печатает ввод в реальном времени!

Я использую JFrame для графического интерфейса пользователя и 2 x JTextField для римского / арабского редактирования / отображения.

1 Ответ

0 голосов
/ 01 октября 2019

вот решение, которое динамически изменяет 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 );
...