gpt4 book ai didi

java - 我想显示从数据库到jTable的值

转载 作者:行者123 更新时间:2023-12-01 10:40:52 25 4
gpt4 key购买 nike

我有一个名为 employeeRecords 的 Java 程序,我用它在 SQL Server 数据库中执行 CRUD 操作。

我有另一个名为 Table 的程序,它是一个 jTable 程序。我需要将 employeeRecords 值显示到我的 jTable 中。我知道如何在 textField 中显示记录,但不知道如何在 jTable 列中显示记录。

如果重要的话,我正在使用 Eclipse Mars。

最佳答案

首先查看 How to Use Tables

答案非常复杂,具体取决于您想要实现的目标。

我建议首先创建一个简单的 POJO 来保存数据库中的数据,就个人而言,这使得管理更加容易......

public class Employee {
// Fields, getters and setters
}

接下来,您需要一个 TableModel 来管理 Employee 的所有实例...

public class EmployeeTableModel extends AbstractTableModel {
private List<Employee> employees;

public EmployeeTableModel(List<Employee> employees) {
this.employees = new ArrayList<>(employees);
}

@Override
public int getRowCount() {
return employees.size();
}

@Override
public int getColumnCount() {
return how ever many fields you want to display;
}

@Override
public String getColumnName(int column) {
String name = "??";
switch (column) {
case 0:
name = "What every this column represents"
break;
.
.
.
}
return name;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Employee employee = employees.get(rowIndex);
Object value = null;
switch (columnIndex) {
case 0:
value = employee.getXxx();
break;
.
.
.
}
return value;
}


}

就我个人而言,我发现为每个 POJO 拥有一个自定义表更容易,因为它允许您更轻松地管理各个行/对象,但这就是我

接下来,您需要从数据库加载数据并填充表模型...

public EmployeeTableModel getEmployeeTableModel() throws SQLException {
Connection con = ...;
EmployeeTableModel model = null;
try (PreparedStatement stmt = con.prepareStatement("select * from employeRecords")) {
try (ResultSet rs = stmt.executeQuery()) {
List<Employee> employees = new ArrayList<>(25);
while (rs.next()) {
Employee employee = new Employee();
employee.setXxx(rs.getString("Xxx"));
//...
}
model = new EmployeeTableModel(employees);
}
}
return model;
}

最后,您需要将模型应用到 JTableModel 的实例

public class SomeUIClass extends JPanel {
//...
private JTable table;
//...

public void someMethodYouNeedToCallWhenYouWantToReloadTheModel() {
try {
table.setModel(getEmployeeTableModel());
} catch (SQLException ex) {
ex.printStackTrace();
}
}

关于java - 我想显示从数据库到jTable的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34409098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com