Работа со 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);
}
}
}