изменить текстовое поле в исполнителе действия

98
7

Как изменить значение поля JTextfield внутри ActionLIstener?

cmdAnzeigen.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e)
{
/* Cannot refer to a non-final variable TextOutput inside an
inner class defined in a different method*/
TextOutput.setText("Hello");
}
});

спросил(а) 2021-01-25T16:52:50+03:00 4 месяца, 3 недели назад
1
Решение
139

Здесь вы можете написать другой метод и поместить код изменения текста TextField в этот метод. как,

public class Demo {
static JTextField txtName;
static JButton jbSubmit;
public Demo()
{
txtName = new JTextField(10);
jbSubmit = new JButton("Submit");
jbSubmit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
change("XYZ");
}
});

}
public static void change(String name)
{
txtName.setText(name);
}

public static void main(String[] args) {
Demo d = new Demo();

JFrame jf=new JFrame();
jf.add(txtName);
jf.add(jbSubmit);
jf.setLayout(new FlowLayout());
jf.setVisible(true);
jf.setSize(500,200);

}

}

ответил(а) 2021-01-25T16:52:50+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема