Как мне показать два текстовых поля actionListener в моем showMessageDialog? Halp - PullRequest
0 голосов
/ 30 октября 2018

У меня есть два textFields с ActionListeners, так что я замечаю, когда пользователь нажимает ввод после редактирования textField1 и 2. Чтобы я мог затем отобразить диалоговое окно сообщения с textField 1 и 2.

Но я не знаю, как отобразить оба поля, только он показывает здесь textField2 дважды? Что может быть причиной этого?

public JTextField textField1;
public JTextField textField2;

public TextFieldFrame(){
    textField1 = new JTextField("textField 1",30);
    textField1.setEditable(true);
    textField1.setBounds(100, 340, 300, 25);
    add(textField1);

    textField2 = new JTextField("textField 2",30);
    textField2.setEditable(true);
    textField2.setBounds(100, 370, 300, 25);
    add(textField2);

    TextFieldHandler handler = new TextFieldHandler();

    textField1.addActionListener(handler);
    textField2.addActionListener(handler);

    setSize(450, 600);
    setLocationRelativeTo(null);
    setVisible(true);
}
private class TextFieldHandler implements ActionListener{        
    @Override
    public void actionPerformed(ActionEvent event){            
       JOptionPane.showMessageDialog(TextFieldFrame.this, String.format("testing%n1.%s%n2.%s", event.getActionCommand(), event.getActionCommand()));
    }
  }
}

1 Ответ

0 голосов
/ 30 октября 2018
JOptionPane.showMessageDialog(TextFieldFrame.this, 
    String.format("testing%n1.%s%n2.%s", event.getActionCommand(), event.getActionCommand()));

Ваши текстовые поля используют один и тот же слушатель, поэтому вы не можете использовать метод event.getActionCommand () дважды. Вы просто получите то же значение.

Я думаю, вы хотите что-то вроде:

  JOptionPane.showMessageDialog(TextFieldFrame.this, 
    String.format("testing%n1.%s%n2.%s", textField1.getText(), textField2.getText()));

Также не используйте setBounds ()

textField2.setBounds(100, 370, 300, 25);

Менеджер по расположению будет определять размер / расположение компонентов на основе правил менеджера по расположению.

...