//添加表Jtable JTable table = null; String[] index = {"sno", "sname", "ssex", "sage", "sdorm"}; Object[][] data = new Object[list.size()][index.length]; //向data中添加数据 for (int i = 0; i < list.size(); i++) { Student student = list.get(i); data[i][0] = "5422133"; data[i][1] = "李家辉"; data[i][2] = "男"; data[i][3] = "19"; data[i][4] = "414"; } //创建表格模型 DefaultTableModel defaultTableModel = new DefaultTableModel(data, index); table = new JTable(defaultTableModel); table.setBackground(Color.white); table.setPreferredScrollableViewportSize(new Dimension(100, 80));//表的宽高 table.setFillsViewportHeight(true);//充满当前布局 //设置滚动条 JScrollPane jScrollPane = new JScrollPane(); jScrollPane.setViewportView(table);设置成功后为什么表格不显示数据
时间: 2024-03-13 08:47:17 浏览: 80
根据你提供的代码,表格显示的数据都是硬编码的,因此表格中的每一行都是相同的数据。如果你想动态显示从数据库中查询到的数据,则需要根据查询结果动态为表格模型添加行。在你的代码中,可以将以下部分替换为从数据库中查询到的数据:
```java
//向data中添加数据
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
data[i][0] = "5422133";
data[i][1] = "李家辉";
data[i][2] = "男";
data[i][3] = "19";
data[i][4] = "414";
}
```
假设你已经成功从数据库中查询了数据,并将查询结果存储在一个List中。那么你可以使用以下代码将查询结果添加到表格模型中:
```java
//创建表格模型
DefaultTableModel defaultTableModel = new DefaultTableModel(index, 0);
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
Object[] row = new Object[] { student.getSno(), student.getSname(), student.getSsex(), student.getSage(), student.getSdorm() };
defaultTableModel.addRow(row);
}
//创建表格
table = new JTable(defaultTableModel);
```
这里我们首先创建了一个空的表格模型,然后使用一个循环,将查询结果中的每一行数据添加到表格模型中。在每一行中,我们使用Student对象的getter方法来获取对应的数据,并将它们存储在一个Object数组中。最后,我们将这个Object数组添加到表格模型的一行中。
希望这个示例能够帮助你成功显示从数据库中查询到的数据。
阅读全文