【问题标题】:Java XAMPP conectivityJava XAMPP 连接性
【发布时间】:2023-03-10 04:20:01
【问题描述】:

目前,我正在开发 JAVA 程序,该程序与使用 XAMPP 创建的 DB 进行通信。 我正在使用不同的 JPanel 来显示来自数据库的信息,并为用户提供不同的选项来操作数据。

我有一个名为 EmployeePanel 的类,它扩展了 JPanel,该类中的代码从数据库中检索所有信息,这些信息保存在 Employee Table 中并显示在 JTable 中。 当我在我的 JAVA 程序中处理数据时会出现问题。例如,当我调用命令时 (从此表中删除员工后)

   cl.show(cardwrapper, "Employee");

JTable 中的信息未从 DB 更新。

这是从数据库中删除条目的代码。

public void DeleteNandoca(){
     try 
     {  
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, userid, password);
    PreparedStatement st = connection.prepareStatement("DELETE FROM `employee` WHERE EMP_FNAME  ='"+NandocaToDelete+"'");
    st.executeUpdate(); 

     }
     catch(Exception e)
     {
         System.out.println(e);
     }
     new EmployeePanel();
        EmployeePanel.revalidate();
        EmployeePanel.repaint();
}

这是来自 ActionPerformed 方法的代码(当我想在删除 DB 中的条目后显示所有员工时

if (e.getSource() == ListEmployeesMenuItem) {
        cl.show(cardwrapper, "Employee");
        EmployeePanel.revalidate();
        EmployeePanel.repaint();
    }

任何人都有想法,我如何在每次触发 ActionPerformed 方法时使我的 JTable 具有更新的信息?

【问题讨论】:

    标签: java eclipse xampp jtable jpanel


    【解决方案1】:

    应该不需要操作视图组件的封闭容器EmployeePanel。而是将JTable 留在原地 并更新其TableModel;监听视图将更新自身作为响应。在这个完整的example 中,Add Row 按钮的ActionListener 调用addRow(),但您可以根据需要清除现有行并添加新行。假设DefaultTableModel,使用setRowCount(0)清除所有行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 2014-12-03
      • 1970-01-01
      • 2017-06-22
      • 2011-01-27
      • 2014-05-14
      • 2012-12-04
      相关资源
      最近更新 更多