Работа со 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д