Слушатель не задает значение переменной через сеттер - Java
Формулировка задачи:
Всем привет. Почему-то сеттер не слышит слушателя событий и не задает через него значение переменной, а может дело в другом, не могу понять
public class Main{
private String val;
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
public Main() {
JFrame jFrame = new JFrame("Value test");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
JButton jButton = new JButton("get text");
JTextComponent jt = new JTextField("Test");
jButton.addActionListener(new Listener(this,jt));
jFrame.add(jt, BorderLayout.NORTH);
jFrame.add(jButton, BorderLayout.SOUTH);
jFrame.pack();
jFrame.setLocationRelativeTo(null);
}
public static void main(String[] args) {
Main m =new Main();
System.out.println(m.val);
}
}
class Listener implements ActionListener {
private Main m;
private JTextComponent jTextComponent;
public Listener(Main m, JTextComponent jTextComponent) {
this.m = m;
this.jTextComponent = jTextComponent;
}
@Override
public void actionPerformed(ActionEvent e) {
m.setVal(jTextComponent.getText());
}
}Решение задачи: «Слушатель не задает значение переменной через сеттер»
textual
Листинг программы
System.out.println(m.val);