Создание JButton, который переключает текст с 2 JTextFields при щелчке мышью

1

Я создал окно с помощью JFrame, и на моем JPanel я добавил 3 компонента: 2 JTextFields ("field1" и "field2") и между ними JButton ("switch"). Моя цель - переключить значение поля1 в поле2 и наоборот, когда щелкнет JButton. Я думал, что этот ActionListener, который я добавил в мой JButton, достиг бы моей цели:

    public void actionPerformed(ActionEvent e) {  
        field2.setText(field1.getText());  

        field1.setText(field2.getText());  
    }  

Однако он меняет значение поля2 на значение поля1, но не наоборот.

Любая помощь будет оценена по достоинству.

  • 1
    сначала сохраните его в переменной
  • 0
    @madhawa priyashantha не о Документе
Показать ещё 2 комментария
Теги:
swing
jtextfield
actionlistener

2 ответа

3
Лучший ответ

Вам нужно временно изменить todo. Если вы не используете его, вы устанавливаете текст из поля1 в поле2, а затем получаете неправильное значение.

public void actionPerformed(ActionEvent e) {  
        String tmp= field2.getText()  
        field2.setText(field1.getText());  

        field1.setText(tmp);  
    }  
  • 0
    конечно как я сказал
2

Для его хранения требуется временная переменная.

В настоящее время поле2 сначала устанавливается на все, что находится в поле1, а затем вы устанавливаете поле1 в то, что вы только что установили field2. Вы должны временно сохранить контент, прежде чем перезаписать его:

String temp = field2.getText();
field2.setText(field1.getText());  
field1.setText(temp);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню