Java 我想使用在另一个类中定义的方法(带有查询exec)填充jtable

Java 我想使用在另一个类中定义的方法(带有查询exec)填充jtable,java,mysql,sql,swing,jtable,Java,Mysql,Sql,Swing,Jtable,我在clientRecorderUI JFrame(扩展JFrame)中有一个jtable“clientTable”…我还有一个名为databaseHandler(扩展clientRecorderUI的公共类)的类,我想用作控制器/模型(类似MVC的设计)。databaseHandler中的方法称为populateTable(用数据库值填充表的sql) 我还在clientRecorderUI中创建了用于测试相同方法的代码,以查看代码是否正确,它的工作方式是否像一个符咒(因此在注释中使用popul

我在clientRecorderUI JFrame(扩展JFrame)中有一个jtable“clientTable”…我还有一个名为databaseHandler(扩展clientRecorderUI的公共类)的类,我想用作控制器/模型(类似MVC的设计)。databaseHandler中的方法称为populateTable(用数据库值填充表的sql)

我还在clientRecorderUI中创建了用于测试相同方法的代码,以查看代码是否正确,它的工作方式是否像一个符咒(因此在注释中使用populateTable()

如何正确地从另一个类调用方法并利用其图形组件? 顺便说一句,我正在研究NetBeans

提前谢谢你

这是我在windowActivated上调用方法的方式:

private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
    databaseHandler tester=new databaseHandler();
    tester.populateTable(); // TODO add your handling code here:
    //populateTable();

}       
这是databaseHandler中的方法:

  protected void populateTable(){

       String query="Select * from clienttable";
       try {  

           //Call connectDB method to connect to database
           Connection dbCon=mySqlConnection.ConnectDB();

           //Prepare the query
           PreparedStatement pst=dbCon.prepareStatement(query);

           //return ResultSet
           ResultSet rs=pst.executeQuery(query);
           clientTable.setModel(DbUtils.resultSetToTableModel(rs));


       } catch (SQLException ex) {
           Logger.getLogger(databaseHandler.class.getName()).log(Level.SEVERE, null, ex);
       }


   }

使
populateTable
返回一个
TableModel

protected TableModel populateTable(){

   TableModel model = null;
   String query="Select * from clienttable";
   try {  

       //Call connectDB method to connect to database
       Connection dbCon=mySqlConnection.ConnectDB();

       //Prepare the query
       PreparedStatement pst=dbCon.prepareStatement(query);

       //return ResultSet
       ResultSet rs=pst.executeQuery(query);
       model = DbUtils.resultSetToTableModel(rs);


   } catch (SQLException ex) {
       Logger.getLogger(databaseHandler.class.getName()).log(Level.SEVERE, null, ex);
   }

   return model;
}
然后,当您调用它时,只需将它应用于您拥有的
JTable
的任何实例

private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
    databaseHandler tester=new databaseHandler();
    TableModel model = tester.populateTable();
    // Apply it do what ever JTable you have
}   

在您的populateTable方法中构建表模型,并通过populateTable方法返回该模型,然后您可以将该模型应用于您需要的JTable的任何实例want@MadProgrammer我想我太迷路了…你能一步一步地告诉我吗?或者,即使是代码片段也能帮助我的思维扩展一点……非常感谢!非常感谢!!tbh我对解决方案xD的简单性感到困惑