📅  最后修改于: 2023-12-03 14:43:36.351000             🧑  作者: Mango
JTable 是 Java Swing 包中的一个组件,用于显示表格数据。在配合面板使用时,它可以被用来填充面板来显示数据。本文将介绍如何使用 JTable 填充面板。
在开始本文之前,需要对以下内容有所了解:
如果您还不了解以上内容,建议先学习它们的基础知识。同时,确保您已经安装了 Java SE 环境。
在编写程序时,首先需要导入所需的包。在本文中,我们需要导入的包有:
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
其中,JPanel 和 JTable 类均来自 javax.swing 包。DefaultTableModel 类则是用于设置 JTable 的表格模型,可以实现表格数据的编辑和添加等功能。
在创建 JPanel 前,需要先确定 JPanel 的布局方式。本文中,我们选择使用 BorderLayout 布局方式。具体代码如下:
JPanel panel = new JPanel(new BorderLayout());
在创建 JTable 前,需要先准备好需要显示的表格数据。本例中,我们使用一个二维数组来存储数据:
Object[][] data = {
{"1", "John", "Doe"},
{"2", "Jane", "Doe"},
{"3", "Steve", "Smith"}
};
数据中包含了每个人的编号、名字和姓氏。接下来,我们使用 DefaultTableModel 创建表格模型,并将数据添加到其中:
DefaultTableModel model = new DefaultTableModel();
model.addColumn("ID");
model.addColumn("First Name");
model.addColumn("Last Name");
for (Object[] row : data) {
model.addRow(row);
}
JTable table = new JTable(model);
在上述代码中,我们首先使用 model.addColumn 方法设置了表格模型中的列名。接着,使用模型的 addRow 方法添加了每个人的信息。
最后,我们将创建的 JTable 添加到面板中:
panel.add(new JScrollPane(table), BorderLayout.CENTER);
在上面的代码中,我们将 JTable 放在一个 JScrollPane 中,以方便用户查看更多信息。JScrollPane 会在需要时自动添加滚动条。
最后,我们需要将面板返回。
return panel;
下面是本例的完整代码片段:
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
public class JTablePanel {
public static JPanel createPanel() {
JPanel panel = new JPanel(new BorderLayout());
Object[][] data = {
{"1", "John", "Doe"},
{"2", "Jane", "Doe"},
{"3", "Steve", "Smith"}
};
DefaultTableModel model = new DefaultTableModel();
model.addColumn("ID");
model.addColumn("First Name");
model.addColumn("Last Name");
for (Object[] row : data) {
model.addRow(row);
}
JTable table = new JTable(model);
panel.add(new JScrollPane(table), BorderLayout.CENTER);
return panel;
}
}
至此,我们已经成功地将 JTable 填充到了面板中。您可以将本例用作模板,以填充您自己的数据。如果您想进一步学习 Swing 包中的其它组件,建议查看官方文档。