Слушатель не задает значение переменной через сеттер - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы