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

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

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

Всем привет. Имеется следующая проблема: нет реакции программы при нажатии Button-а. ActionListener прописан правильно. Даже не представляю какая там может быть ошибка. Чтобы было все понятно объясняю что делает этот код: Идет считывание таблицы базы данных H2 посредством jdbc и записывается в таблицы с помощью Swing Вывод таблиц с данными работает почти корректно не считая того что кнопка "Показать таблицу" работает со второго раза =\ Также программа должна уметь искать нужные данные в базе. (Прикреплю скриншот интерфейса программы) Кнопка "Начать поиск" не реагирует на нажатия вообще. В отладчике при клике показывается, что клик зачтен но активность не начинается. При этом все вроде бы нормально описано. Буду благодарен за помощь! Вот описание активности всех кнопок: "Кнопка - Показать таблицу"
Листинг программы
  1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  2. jButton1.addActionListener(new ActionListener(){
  3. public void actionPerformed(ActionEvent ae) {
  4. if(ae.getSource() == jButton1){
  5. if((String)jComboBox1.getModel().getSelectedItem() == "STUDENT") {
  6. if(flag1 == 0){
  7. flag1 = 1;
  8. JFrame frame = new JFrame("TABLE STUDENT");
  9. frame.setSize(new Dimension(600, 400));
  10. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11. frame.setLocationRelativeTo(null);
  12. frame.setLayout(new GridBagLayout());
  13. TableModelStudent dataBaseTableModel = new TableModelStudent();
  14. JTable dataBase = new JTable(dataBaseTableModel);
  15. JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
  16. dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
  17. try {
  18. dataBaseTableModel.addDateBaseStudent();
  19. } catch (SQLException ex) {
  20. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  21. }
  22. frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH,
  23. GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
  24. frame.setVisible(true);
  25. frame.pack();
  26. }
  27. }else if((String)jComboBox1.getModel().getSelectedItem() == "LESSON"){
  28. if(flag2 == 0){
  29. flag2 = 1;
  30. JFrame frame = new JFrame("TABLE LESSON");
  31. frame.setSize(new Dimension(600, 400));
  32. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  33. frame.setLocationRelativeTo(null);
  34. frame.setLayout(new GridBagLayout());
  35. TableModelLesson dataBaseTableModel = new TableModelLesson();
  36. JTable dataBase = new JTable(dataBaseTableModel);
  37. JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
  38. dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
  39. try {
  40. dataBaseTableModel.addDateBaseLesson();
  41. } catch (SQLException ex) {
  42. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  43. }
  44. frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH,
  45. GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
  46. frame.setVisible(true);
  47. frame.pack();
  48. }
  49. }
  50. }
  51. }
  52. });
  53. }
"Кнопка - Начать поиск"
Листинг программы
  1. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  2. jButton2.addActionListener(new ActionListener(){
  3. public void actionPerformed(ActionEvent ae) {
  4. if(ae.getSource() == jButton2){
  5. if (jTextField2.getText() == "STUDENT" || jTextField2.getText() == "student" ||
  6. jTextField2.getText() == "Student"){
  7. Connection connect = null;
  8. Statement stm = null;
  9. try
  10. {
  11. Class.forName("org.h2.Driver");
  12. connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
  13. stm = connect.createStatement();
  14. }
  15. catch (ClassNotFoundException | SQLException ex) {
  16. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  17. }
  18. ResultSet rs = null;
  19. try {
  20. rs = stm.executeQuery("select * from STUDENT");
  21. } catch (SQLException ex) {
  22. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  23. }
  24. try {
  25. while(rs.next()){
  26. if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("FIO") ||
  27. jTextField1.getText() == rs.getString("LESSON_ID") ||
  28. jTextField1.getText() == rs.getString("MARK")){
  29. String[] row = {rs.getString("ID"), rs.getString("FIO"), rs.getString("LESSON_ID"),
  30. rs.getString("MARK")};
  31. if(flag3 == 0){
  32. flag3 = 1;
  33. JFrame frame = new JFrame("TABLE STUDENT");
  34. frame.setSize(new Dimension(600, 400));
  35. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36. frame.setLocationRelativeTo(null);
  37. frame.setLayout(new GridBagLayout());
  38. TableModelStudent dataBaseTableModel = new TableModelStudent();
  39. JTable dataBase = new JTable(dataBaseTableModel);
  40. JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
  41. dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
  42. dataBaseTableModel.addDate(row);
  43. frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1,
  44. 1,GridBagConstraints.NORTH, GridBagConstraints.BOTH,
  45. new Insets(1, 1, 1, 1), 0, 0));
  46. frame.setVisible(true);
  47. frame.pack();
  48. }
  49. }
  50. }
  51. } catch (SQLException ex) {
  52. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  53. }
  54. }else if(jTextField2.getText() == "LESSON" || jTextField2.getText() == "lesson" || jTextField2.getText() == "Lesson"){
  55. Connection connect = null;
  56. Statement stm = null;
  57. try
  58. {
  59. Class.forName("org.h2.Driver");
  60. connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
  61. stm = connect.createStatement();
  62. }
  63. catch (ClassNotFoundException | SQLException ex) {
  64. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  65. }
  66. ResultSet rs = null;
  67. try {
  68. rs = stm.executeQuery("select * from STUDENT");
  69. } catch (SQLException ex) {
  70. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  71. }
  72. try {
  73. while(rs.next()){
  74. if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("NAME")){
  75. String[] row = {rs.getString("ID"), rs.getString("NAME")};
  76. if(flag3 == 0){
  77. flag3 = 1;
  78. JFrame frame = new JFrame("TABLE LESSON");
  79. frame.setSize(new Dimension(600, 400));
  80. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  81. frame.setLocationRelativeTo(null);
  82. frame.setLayout(new GridBagLayout());
  83. TableModelLesson dataBaseTableModel = new TableModelLesson();
  84. JTable dataBase = new JTable(dataBaseTableModel);
  85. JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
  86. dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
  87. dataBaseTableModel.addDate(row);
  88. frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1,
  89. 1,GridBagConstraints.NORTH, GridBagConstraints.BOTH,
  90. new Insets(1, 1, 1, 1), 0, 0));
  91. frame.setVisible(true);
  92. frame.pack();
  93. }
  94. }
  95. }
  96. } catch (SQLException ex) {
  97. Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  98. }
  99. }
  100. }
  101. }
  102. });
  103. }
Если потребуется доп.информация по коду я скину.

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

textual
Листинг программы
  1. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  2.         if (jTextField2.getText() == "STUDENT" || jTextField2.getText() == "student" || jTextField2.getText() == "Student"){
  3.             Connection connect = null;
  4.             Statement stm = null;
  5.  
  6.             try
  7.             {
  8.                 Class.forName("org.h2.Driver");
  9.                 connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
  10.                 stm = connect.createStatement();
  11.             }
  12.             catch (ClassNotFoundException | SQLException ex) {
  13.                 Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  14.             }
  15.  
  16.             ResultSet rs = null;
  17.             try {
  18.                 rs = stm.executeQuery("select * from STUDENT");
  19.             } catch (SQLException ex) {
  20.                 Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  21.             }
  22.  
  23.             try {
  24.                 while(rs.next()){
  25.                     if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("FIO") ||
  26.                             jTextField1.getText() == rs.getString("LESSON_ID") || jTextField1.getText() == rs.getString("MARK")){
  27.  
  28.                         String[] row = {rs.getString("ID"), rs.getString("FIO"), rs.getString("LESSON_ID"), rs.getString("MARK")};
  29.                         if(flag3 == 0){
  30.                             flag3 = 1;
  31.  
  32.                             JFrame frame = new JFrame("TABLE STUDENT");
  33.                             frame.setSize(new Dimension(600, 400));
  34.                             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  35.                             frame.setLocationRelativeTo(null);
  36.                             frame.setLayout(new GridBagLayout());
  37.  
  38.                             TableModelStudent dataBaseTableModel = new TableModelStudent();
  39.                             JTable dataBase = new JTable(dataBaseTableModel);
  40.                             JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
  41.                             dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
  42.  
  43.                             dataBaseTableModel.addDate(row);
  44.  
  45.                             frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
  46.                             frame.setVisible(true);
  47.                             frame.pack();
  48.                         }
  49.                     }
  50.                 }
  51.             } catch (SQLException ex) {
  52.                 Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  53.             }
  54.         }else if(jTextField2.getText() == "LESSON" || jTextField2.getText() == "lesson" || jTextField2.getText() == "Lesson"){
  55.             Connection connect = null;
  56.             Statement stm = null;
  57.  
  58.             try
  59.             {
  60.                 Class.forName("org.h2.Driver");
  61.                 connect = DriverManager.getConnection("jdbc:h2:file:\\C:\\Users\\Egor\\test", "sa", "");
  62.                 stm = connect.createStatement();
  63.             }
  64.             catch (ClassNotFoundException | SQLException ex) {
  65.                 Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  66.             }
  67.  
  68.             ResultSet rs = null;
  69.             try {
  70.                 rs = stm.executeQuery("select * from STUDENT");
  71.             } catch (SQLException ex) {
  72.                 Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  73.             }
  74.  
  75.             try {
  76.                 while(rs.next()){
  77.                     if(jTextField1.getText() == rs.getString("ID") || jTextField1.getText() == rs.getString("NAME")){
  78.  
  79.                         String[] row = {rs.getString("ID"), rs.getString("NAME")};
  80.                         if(flag3 == 0){
  81.                             flag3 = 1;
  82.  
  83.                             JFrame frame = new JFrame("TABLE LESSON");
  84.                             frame.setSize(new Dimension(600, 400));
  85.                             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  86.                             frame.setLocationRelativeTo(null);
  87.                             frame.setLayout(new GridBagLayout());
  88.  
  89.                             TableModelLesson dataBaseTableModel = new TableModelLesson();
  90.                             JTable dataBase = new JTable(dataBaseTableModel);
  91.                             JScrollPane dataBaseScrollPane = new JScrollPane(dataBase);
  92.                             dataBaseScrollPane.setPreferredSize(new Dimension(400, 400));
  93.  
  94.                             dataBaseTableModel.addDate(row);
  95.  
  96.                             frame.add(dataBaseScrollPane, new GridBagConstraints(0, 0, 1, 1, 1, 1,GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
  97.                             frame.setVisible(true);
  98.                             frame.pack();
  99.                         }
  100.                     }
  101.                 }
  102.             } catch (SQLException ex) {
  103.                 Logger.getLogger(JFrame.class.getName()).log(Level.SEVERE, null, ex);
  104.             }
  105.         }
  106.     }

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


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

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

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы