Передача данных из 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();
}
}