Не срабатывает слушатель нажатия на кнопку - Java

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

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

У меня такая задача Создать окно. Текстовое поле и просто кнопку. По нажатию на кнопку - в текстовом поле появляется dfjkjkjkj. И окно выводится и поле с кнопкой появляется. Но при любом нажатии ничего не происходит.
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.awt.event.ActionListener;
  5. public class Win1 extends JFrame {
  6. public Win1() {
  7. setSize(200, 300);
  8. setTitle("текстовое поле");
  9. JTextField txt = new JTextField(10);
  10. add(txt, BorderLayout.NORTH);
  11. JButton b1 = new JButton("ok");
  12. add(b1,BorderLayout.SOUTH);
  13. txt.setText("--------------------");
  14. class ShoPopalo implements ActionListener {
  15. @Override
  16. public void actionPerformed(ActionEvent e) {
  17. if (e.getSource()==b1) {
  18. txt.setText("dfjkjkjkj");
  19. }
  20. }
  21. }
  22. setVisible(true);
  23. }
  24. public static void main(String[] args) {
  25. Win1 w = new Win1();
  26. w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27. }
  28. }
Почему и как это лечить?

Решение задачи: «Не срабатывает слушатель нажатия на кнопку»

textual
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. public class Win1 extends JFrame {
  5.     public Win1() {
  6.  
  7.         setSize(200, 300);
  8.         setTitle("текстовое поле");
  9.  
  10.         JTextField txt = new JTextField(10);
  11.         add(txt, BorderLayout.NORTH);
  12.  
  13.         JButton b1 = new JButton("ok");
  14.         add(b1, BorderLayout.SOUTH);
  15.  
  16.         txt.setText("--------------------");
  17.  
  18.         b1.addActionListener(e -> {
  19.             if (e.getSource() == b1) {
  20.                 txt.setText("dfjkjkjkj");
  21.             }
  22.         });
  23.        
  24.         setVisible(true);
  25.     }
  26.  
  27.     public static void main(String[] args) {
  28.         Win1 w = new Win1();
  29.         w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  30.     }
  31. }

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


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

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

11   голосов , оценка 3.818 из 5

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

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

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