Работа со Swing JavaSE. Нет реакции на нажатие кнопки

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

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

Всем привет. Имеется следующая проблема: нет реакции программы при нажатии Button-а. ActionListener прописан правильно. Даже не представляю какая там может быть ошибка. Чтобы было все понятно объясняю что делает этот код: Идет считывание таблицы базы данных H2 посредством jdbc и записывается в таблицы с помощью Swing Вывод таблиц с данными работает почти корректно не считая того что кнопка "Показать таблицу" работает со второго раза =\ Также программа должна уметь искать нужные данные в базе. (Прикреплю скриншот интерфейса программы) Кнопка "Начать поиск" не реагирует на нажатия вообще. В отладчике при клике показывается, что клик зачтен но активность не начинается. При этом все вроде бы нормально описано. Буду благодарен за помощь! Вот описание активности всех кнопок: "Кнопка - Показать таблицу"
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       jButton1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent ae) {
                if(ae.getSource() == jButton1){
                    if((String)jComboBox1.getModel().getSelectedItem() == "STUDENT") {
                        if(flag1 == 0){
                            flag1 = 1;
                            
                            JFrame frame = new JFrame("TABLE STUDENT");
                            frame.setSize(new Dimension(600, 400));
                            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                            frame.setLocationRelativeTo(null);
                            frame.setLayout(new GridBagLayout());
                            
                            TableModelStudent dataBaseTableModel = new TableModelStudent();
                            JTable dataBase = new JTable(dataBaseTableModel);
                            JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
                            dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
                            
                            try {
                                dataBaseTableModel.addDateBaseStudent();
                            } catch (SQLException ex) {
                                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            
                            frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH,
                                          GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
                            frame.setVisible(true);
                            frame.pack();
                        }
                    }else if((String)jComboBox1.getModel().getSelectedItem() == "LESSON"){
                        if(flag2 == 0){
                            flag2 = 1;
                            
                            JFrame frame = new JFrame("TABLE LESSON");
                            frame.setSize(new Dimension(600, 400));
                            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                            frame.setLocationRelativeTo(null);
                            frame.setLayout(new GridBagLayout());
                            
                            TableModelLesson dataBaseTableModel = new TableModelLesson();
                            JTable dataBase = new JTable(dataBaseTableModel);
                            JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
                            dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
                            
                            try {
                                dataBaseTableModel.addDateBaseLesson();
                            } catch (SQLException ex) {
                                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
                            }
                            
                            frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH, 
                                         GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
                            frame.setVisible(true);
                            frame.pack();
                        }
                    }                            
                      
                }
            }
        });
    }
"Кнопка - Начать поиск"
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jButton2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent ae) {
                if(ae.getSource() == jButton2){
                    if (jTextField2.getText() == "STUDENT" || jTextField2.getText() == "student" ||
                        jTextField2.getText() == "Student"){
                        Connection connect = null;
                        Statement stm = null;
 
                        try 
                        {
                            Class.forName("org.h2.Driver");
                            connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
                            stm = connect.createStatement();
                        }
                        catch (ClassNotFoundException | SQLException ex) {
                            Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex); 
                        }
 
                        ResultSet rs = null;
                        try {
                            rs = stm.executeQuery("select * from STUDENT");
                        } catch (SQLException ex) {
                            Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
                        }
 
                        try {
                            while(rs.next()){
                                if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("FIO") || 
                                        jTextField1.getText() == rs.getString("LESSON_ID") || 
                                        jTextField1.getText() == rs.getString("MARK")){
                                    
                                    String[] row = {rs.getString("ID"), rs.getString("FIO"), rs.getString("LESSON_ID"), 
                                                         rs.getString("MARK")};
                                    if(flag3 == 0){
                                        flag3 = 1;
 
                                        JFrame frame = new JFrame("TABLE STUDENT");
                                        frame.setSize(new Dimension(600, 400));
                                        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                        frame.setLocationRelativeTo(null);
                                        frame.setLayout(new GridBagLayout());
 
                                        TableModelStudent dataBaseTableModel = new TableModelStudent();
                                        JTable dataBase = new JTable(dataBaseTableModel);
                                        JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
                                        dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
 
                                        dataBaseTableModel.addDate(row);
 
                                        frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 
                                                       1,GridBagConstraints.NORTH, GridBagConstraints.BOTH,
                                                        new Insets(1, 1, 1, 1), 0, 0));
                                        frame.setVisible(true);
                                        frame.pack();
                                    }
                                }
                            }
                        } catch (SQLException ex) {
                            Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }else if(jTextField2.getText() == "LESSON" || jTextField2.getText() == "lesson" || jTextField2.getText() == "Lesson"){
                        Connection connect = null;
                        Statement stm = null;
 
                        try 
                        {
                            Class.forName("org.h2.Driver");
                            connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
                            stm = connect.createStatement();
                        }
                        catch (ClassNotFoundException | SQLException ex) {
                            Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex); 
                        }
 
                        ResultSet rs = null;
                        try {
                            rs = stm.executeQuery("select * from STUDENT");
                        } catch (SQLException ex) {
                            Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        
                        try {
                            while(rs.next()){
                                if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("NAME")){
                                    
                                    String[] row = {rs.getString("ID"), rs.getString("NAME")};
                                    if(flag3 == 0){
                                        flag3 = 1;
                                        
                                        JFrame frame = new JFrame("TABLE LESSON");
                                        frame.setSize(new Dimension(600, 400));
                                        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                        frame.setLocationRelativeTo(null);
                                        frame.setLayout(new GridBagLayout());
                                        
                                        TableModelLesson dataBaseTableModel = new TableModelLesson();
                                        JTable dataBase = new JTable(dataBaseTableModel);
                                        JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
                                        dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
                                        
                                        dataBaseTableModel.addDate(row);
                                        
                                        frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 
                                                       1,GridBagConstraints.NORTH, GridBagConstraints.BOTH,
                                                       new Insets(1, 1, 1, 1), 0, 0));
                                        frame.setVisible(true);
                                        frame.pack();
                                    }
                                }
                            }
                        } catch (SQLException ex) {
                            Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }
                }
            }
        });
    }
Если потребуется доп.информация по коду я скину.

Решение задачи: «Работа со Swing JavaSE. Нет реакции на нажатие кнопки»

textual
Листинг программы
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if (jTextField2.getText() == "STUDENT" || jTextField2.getText() == "student" || jTextField2.getText() == "Student"){
            Connection connect = null;
            Statement stm = null;
 
            try 
            {
                Class.forName("org.h2.Driver");
                connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
                stm = connect.createStatement();
            }
            catch (ClassNotFoundException | SQLException ex) {
                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex); 
            }
 
            ResultSet rs = null;
            try {
                rs = stm.executeQuery("select * from STUDENT");
            } catch (SQLException ex) {
                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
 
            try {
                while(rs.next()){
                    if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("FIO") || 
                            jTextField1.getText() == rs.getString("LESSON_ID") || jTextField1.getText() == rs.getString("MARK")){
 
                        String[] row = {rs.getString("ID"), rs.getString("FIO"), rs.getString("LESSON_ID"), rs.getString("MARK")};
                        if(flag3 == 0){
                            flag3 = 1;
 
                            JFrame frame = new JFrame("TABLE STUDENT");
                            frame.setSize(new Dimension(600, 400));
                            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                            frame.setLocationRelativeTo(null);
                            frame.setLayout(new GridBagLayout());
 
                            TableModelStudent dataBaseTableModel = new TableModelStudent();
                            JTable dataBase = new JTable(dataBaseTableModel);
                            JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
                            dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
 
                            dataBaseTableModel.addDate(row);
 
                            frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
                            frame.setVisible(true);
                            frame.pack();
                        }
                    }
                }
            } catch (SQLException ex) {
                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
        }else if(jTextField2.getText() == "LESSON" || jTextField2.getText() == "lesson" || jTextField2.getText() == "Lesson"){
            Connection connect = null;
            Statement stm = null;
 
            try 
            {
                Class.forName("org.h2.Driver");
                connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
                stm = connect.createStatement();
            }
            catch (ClassNotFoundException | SQLException ex) {
                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex); 
            }
 
            ResultSet rs = null;
            try {
                rs = stm.executeQuery("select * from STUDENT");
            } catch (SQLException ex) {
                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
 
            try {
                while(rs.next()){
                    if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("NAME")){
 
                        String[] row = {rs.getString("ID"), rs.getString("NAME")};
                        if(flag3 == 0){
                            flag3 = 1;
 
                            JFrame frame = new JFrame("TABLE LESSON");
                            frame.setSize(new Dimension(600, 400));
                            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                            frame.setLocationRelativeTo(null);
                            frame.setLayout(new GridBagLayout());
 
                            TableModelLesson dataBaseTableModel = new TableModelLesson();
                            JTable dataBase = new JTable(dataBaseTableModel);
                            JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
                            dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
 
                            dataBaseTableModel.addDate(row);
 
                            frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
                            frame.setVisible(true);
                            frame.pack();
                        }
                    }
                }
            } catch (SQLException ex) {
                Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

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


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

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

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