Создать объект по нажатию на кнопку - Java
Формулировка задачи:
Столкнулся с проблемой: (доделывая приложения из прошлой темы) разбил все по классам, чтобы было красиво, начал делать класс для работы с 2 JFrame. Нужно чтобы при нажатии на кнопку создавались TextField и TextArea, инфу из которых я буду сохранять в базу и запускать из-под 1 JFrame. 1 JFrame-parent текущего JFrame. Почитал про MVC, потоки, не очень разобрался, решил пока сделать просто чтобы при тычке на кнопку выводилось 2 поля, но они почему-то не выводятся.
вот текст класса
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); } }
с кнопками разобрался, осталось сделать с базой)
Решение задачи: «Создать объект по нажатию на кнопку»
textual
Листинг программы
public class SaveActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { stf=tf.getText(); sta=ta.getText(); ResultSet rs = null; try{ if(con==null){ con= DriverManager.getConnection(url, login, password); } PreparedStatement pstmt = con.prepareStatement(query4); pstmt.setInt(1, NextID()); pstmt.setString(2, stf); pstmt.setString(3, sta); rs = pstmt.executeQuery(); } catch (SQLException eI) { eI.printStackTrace(); } dm.closeFrame(TestCaseForm.ifr1); } } public class ReloadActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { TestCaseForm d=new TestCaseForm("Set Question"); d.setVisible(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д