Передача данных из JTextField в другой класс - Java

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

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

Добрый день, нужно передать строку из JTextField, который находится в одном классе в другой по клику. Подскажите плиз, что не так? Спасибо!
Листинг программы
  1. public class ClassA extends JFrame
  2. {
  3. JTextField txt = new JTextField();
  4. JButton btn;
  5. public ClassA()
  6. {
  7. setLayout(null);
  8. setSize(800, 600);
  9. setDefaultCloseOperation(EXIT_ON_CLOSE);
  10. txt.setBounds(10, 10, 90, 30);
  11. add(txt);
  12. ClassB b = new ClassB(txt.getText());
  13. btn = new JButton("Test");
  14. btn.setBounds(10, 40, 90, 30);
  15. btn.addActionListener(b);
  16. add(btn);
  17. setVisible(true);
  18. }
  19. public JTextField getTxt()
  20. {
  21. return txt;
  22. }
  23. }
  24.  
  25. public class ClassB implements ActionListener
  26. {
  27. public String str;
  28. public ClassB(String str)
  29. {
  30. this.str = str;
  31. System.out.println(str);
  32. }
  33. @Override
  34. public void actionPerformed(ActionEvent e)
  35. {
  36. JOptionPane.showMessageDialog(null, str);
  37. }
  38. }
  39.  
  40. public class ClassC
  41. {
  42. public static void main(String[] args)
  43. {
  44. new ClassA();
  45. }
  46. }

Решение задачи: «Передача данных из JTextField в другой класс»

textual
Листинг программы
  1. public class ClassA extends JFrame
  2. {
  3.  
  4.     JTextField txt = new JTextField();
  5.     JButton btn;
  6.  
  7.     public ClassA()
  8.     {
  9.         setLayout(null);
  10.         setSize(800, 600);
  11.  
  12.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  13.  
  14.         txt.setBounds(10, 10, 90, 30);
  15.         add(txt);
  16.  
  17.         ClassB b = new ClassB(txt);
  18.  
  19.         btn = new JButton("Test");
  20.         btn.setBounds(10, 40, 90, 30);
  21.         btn.addActionListener(b);
  22.         add(btn);
  23.  
  24.         setVisible(true);
  25.     }
  26.  
  27.     public JTextField getTxt()
  28.     {
  29.         return txt;
  30.     }
  31.  
  32. }
  33.  
  34.  
  35.  
  36.  
  37. public class ClassB implements ActionListener
  38. {
  39.  
  40.     public JTextField txt;
  41.  
  42.     public ClassB(JTextField txt)
  43.     {
  44.         this.txt = txt;
  45.     }
  46.  
  47.     @Override
  48.     public void actionPerformed(ActionEvent e)
  49.     {
  50.         JOptionPane.showMessageDialog(null, txt.getText());
  51.     }
  52. }
  53.  
  54.  
  55. public class ClassC
  56. {
  57.     public static void main(String[] args)
  58.     {
  59.         new ClassA();
  60.     }
  61. }

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


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

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

14   голосов , оценка 3.786 из 5

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

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

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