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

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

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

Добрый день, нужно передать строку из JTextField, который находится в одном классе в другой по клику. Подскажите плиз, что не так? Спасибо!
public class ClassA extends JFrame
{
 
    JTextField txt = new JTextField();
    JButton btn;
 
    public ClassA()
    {
        setLayout(null);
        setSize(800, 600);
 
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        txt.setBounds(10, 10, 90, 30);
        add(txt);
 
        ClassB b = new ClassB(txt.getText());
 
        btn = new JButton("Test");
        btn.setBounds(10, 40, 90, 30);
        btn.addActionListener(b);
        add(btn);
 
        setVisible(true);
    }
 
    public JTextField getTxt()
    {
        return txt;
    }
 
}

public class ClassB implements ActionListener
{
 
    public String str;
 
    public ClassB(String str)
    {
        this.str = str;
        System.out.println(str);
    }
 
    @Override
    public void actionPerformed(ActionEvent e)
    {
        JOptionPane.showMessageDialog(null, str);
    }
}

public class ClassC
{
    public static void main(String[] args)
    {
        new ClassA();
    }
}

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

textual
Листинг программы
public class ClassA extends JFrame
{
 
    JTextField txt = new JTextField();
    JButton btn;
 
    public ClassA()
    {
        setLayout(null);
        setSize(800, 600);
 
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        txt.setBounds(10, 10, 90, 30);
        add(txt);
 
        ClassB b = new ClassB(txt);
 
        btn = new JButton("Test");
        btn.setBounds(10, 40, 90, 30);
        btn.addActionListener(b);
        add(btn);
 
        setVisible(true);
    }
 
    public JTextField getTxt()
    {
        return txt;
    }
 
}
 
 
 
 
public class ClassB implements ActionListener
{
 
    public JTextField txt;
 
    public ClassB(JTextField txt)
    {
        this.txt = txt;
    }
 
    @Override
    public void actionPerformed(ActionEvent e)
    {
        JOptionPane.showMessageDialog(null, txt.getText());
    }
}
 
 
public class ClassC
{
    public static void main(String[] args)
    {
        new ClassA();
    }
}

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


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

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

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