📜  jtable 填充面板 - Java (1)

📅  最后修改于: 2023-12-03 14:43:36.351000             🧑  作者: Mango

JTable 填充面板 - Java

JTable 是 Java Swing 包中的一个组件,用于显示表格数据。在配合面板使用时,它可以被用来填充面板来显示数据。本文将介绍如何使用 JTable 填充面板。

准备工作

在开始本文之前,需要对以下内容有所了解:

  • Java Swing 包中的 JPanel 类
  • JTable 类的基本知识

如果您还不了解以上内容,建议先学习它们的基础知识。同时,确保您已经安装了 Java SE 环境。

编写代码
步骤 1 - 导入包

在编写程序时,首先需要导入所需的包。在本文中,我们需要导入的包有:

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

其中,JPanel 和 JTable 类均来自 javax.swing 包。DefaultTableModel 类则是用于设置 JTable 的表格模型,可以实现表格数据的编辑和添加等功能。

步骤 2 - 创建 JPanel

在创建 JPanel 前,需要先确定 JPanel 的布局方式。本文中,我们选择使用 BorderLayout 布局方式。具体代码如下:

JPanel panel = new JPanel(new BorderLayout());
步骤 3 - 创建 JTable

在创建 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 包中的其它组件,建议查看官方文档。