Java 我想使用在另一个类中定义的方法(带有查询exec)填充jtable
我在clientRecorderUI JFrame(扩展JFrame)中有一个jtable“clientTable”…我还有一个名为databaseHandler(扩展clientRecorderUI的公共类)的类,我想用作控制器/模型(类似MVC的设计)。databaseHandler中的方法称为populateTable(用数据库值填充表的sql) 我还在clientRecorderUI中创建了用于测试相同方法的代码,以查看代码是否正确,它的工作方式是否像一个符咒(因此在注释中使用populateTable() 如何正确地从另一个类调用方法并利用其图形组件? 顺便说一句,我正在研究NetBeans 提前谢谢你 这是我在windowActivated上调用方法的方式: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
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的简单性感到困惑