Создать объект по нажатию на кнопку - 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);
         }
    }

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


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

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

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