Создать объект по нажатию на кнопку

Столкнулся с проблемой: разбил прогу по классам, чтобы было красиво, начал делать класс для работы с одной из JFrame. Нужно чтобы при нажатии на кнопку создавались TextField и TextArea, инфу из которых я буду сохранять в базу и запускать из-под другой JFrame. 2 JFrame-parent текущего JFrame. Почитал про MVC, потоки, не очень разобрался, решил пока сделать просто чтобы при тычке на кнопку выводилось 2 поля, но они почему-то не выводятся.
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import javax.swing.*; public class ExpertTableForm extends TestCaseForm{
/**
*
*/
private JInternalFrame ifr2=new JInternalFrame("Expert table", true, true, true, true);
private static final long serialVersionUID = 1L; public class TestActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
//Код, который нужно выполнить при нажатии
JTextField tf= new JTextField(50);
ifr2.add(tf);
tf.setVisible(true);
JTextArea ta=new JTextArea(5, 100);
ifr2.add(ta);
ta.setVisible(true);
JScrollPane sp=new JScrollPane(ta);
ifr2.add(sp);
sp.setVisible(true);
}
} ExpertTableForm(String s) {
super(s);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(dp);
ifr2.setBounds(210, 10, 200, 300);
ifr2.setVisible(true);
dp.add(ifr2);
JButton button = new JButton("Test button");
ActionListener actionListener = new TestActionListener();
button.addActionListener(actionListener);
button.setVisible(true);
button.setBounds(20,20,250,70);
ifr2.add(button);
} }
package diplomawork;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import javax.swing.*; public class ExpertTableForm extends TestCaseForm{
/**
*
*/
private JInternalFrame ifr2=new JInternalFrame("Expert table", true, true, true, true);
private static final long serialVersionUID = 1L; public class TestActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
//Код, который нужно выполнить при нажатии
JTextField tf= new JTextField(50);
ifr2.add(tf);
tf.setVisible(true);
JTextArea ta=new JTextArea(5, 100);
ifr2.add(ta);
ta.setVisible(true);
JScrollPane sp=new JScrollPane(ta);
ifr2.add(sp);
sp.setVisible(true);
}
} ExpertTableForm(String s) {
super(s);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(dp);
ifr2.setBounds(210, 10, 200, 300);
ifr2.setVisible(true);
dp.add(ifr2);
JButton button = new JButton("Test button");
ActionListener actionListener = new TestActionListener();
button.addActionListener(actionListener);
button.setVisible(true);
button.setBounds(20,20,250,70);
ifr2.add(button);
} }
02 апреля 2015 в 16:26
Ближайшие курсы

Интенсив "C# для начинающих"
Конструкции языка на примере разработки небольшой игры
23
февраля

Java для чайников: интенсив "Основы программирования Java"
Первое знакомство с языком Java
23
февраля

Интенсив «Основы веб-дизайна»
Создание Landing page
23
февраля
Новые статьи

Идеальный код на Python
56105

А/В-тестирование лендингов
40425

13 способов, как программисту отпугнуть работодателя
26431212