Слушатель не задает значение переменной через сеттер - Java

Узнай цену своей работы

Формулировка задачи:

Всем привет. Почему-то сеттер не слышит слушателя событий и не задает через него значение переменной, а может дело в другом, не могу понять
Листинг программы
  1. public class Main{
  2. private String val;
  3. public String getVal() {
  4. return val;
  5. }
  6.  
  7. public void setVal(String val) {
  8. this.val = val;
  9. }
  10. public Main() {
  11. JFrame jFrame = new JFrame("Value test");
  12. jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  13. jFrame.setVisible(true);
  14. JButton jButton = new JButton("get text");
  15. JTextComponent jt = new JTextField("Test");
  16. jButton.addActionListener(new Listener(this,jt));
  17. jFrame.add(jt, BorderLayout.NORTH);
  18. jFrame.add(jButton, BorderLayout.SOUTH);
  19. jFrame.pack();
  20. jFrame.setLocationRelativeTo(null);
  21. }
  22.  
  23. public static void main(String[] args) {
  24. Main m =new Main();
  25. System.out.println(m.val);
  26. }
  27. }
  28. class Listener implements ActionListener {
  29. private Main m;
  30. private JTextComponent jTextComponent;
  31. public Listener(Main m, JTextComponent jTextComponent) {
  32. this.m = m;
  33. this.jTextComponent = jTextComponent;
  34. }
  35. @Override
  36. public void actionPerformed(ActionEvent e) {
  37. m.setVal(jTextComponent.getText());
  38. }
  39. }

Решение задачи: «Слушатель не задает значение переменной через сеттер»

textual
Листинг программы
  1.  System.out.println(m.val);

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


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

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

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы