Как получить значение с 1-й панели и вставить во 2-ю панель в Java Swing - PullRequest
0 голосов
/ 31 мая 2010

Я использовал имя Текстовое поле на 1-й панели в модуле D. когда я нажимаю кнопку «Создать», имя сотрудника автоматически обновляется в текстовой панели «Имя сотрудника» в модуле E. поэтому в обеих панелях значение должно быть одинаковым. Как я могу получить значение из модуля D и обновить в модуле E с помощью Java Swing.

1 Ответ

1 голос
/ 31 мая 2010

Свинг сильно зависит от паттерна Obeserver. Вы можете использовать этот шаблон, чтобы помочь вашему E-модулю знать, когда нажата кнопка генерирования.

Если ваш E-модуль имеет ссылку на ваш D-модуль, вы можете добавить E как ActionListener к кнопке генерации. Затем вы можете извлечь текст из модуля D, когда действие запущено. Подход грубой силы обозначен ниже:

public class DModule {
     private JButton genButton = new JButton("generate");
     private JTextField empNameTF = new JTextField();      

     // ---more code ---  


     public void addGenButtonListener (ActionListener l) {
          genButton.addActionListener(l);
     }

     public String getEmpName() {
          return empNameTF.getText();
     }
}


public class EModule implements ActionListener {
     DModule d = null;
     JTextField myEmpNameTF = new JTextField();

     public EModule (DModule d) {
          this.d = d;
          d.addGenButtonListener(this);
     }

     // --- more code ---

     public void actionPerformed(ActionEvent event) {
          myEmpNameTF.setText(d.getEmpName());     
     }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...