Java如何创建简单的JTable组件?

下面显示的代码段向您展示了如何JTable在swing应用程序中创建一个简单的组件。要创建JTable组件,我们使用接受两个参数的构造函数对其进行初始化。

第一个参数是表的数据行,其类型为Object[][]的二维数组Object。第二个参数是表的列名,其类型是Object[]对象数组。

JTable创建实例后,我们将其放置在滚动窗格组件中,该组件又被添加到框架的内容窗格中。

package org.nhooo.example.swing;

import javax.swing.*;

import java.awt.*;

import java.text.MessageFormat;

import java.util.Calendar;

public class SimpleJTableDemo extends JFrame {

    public SimpleJTableDemo() throws HeadlessException {

        initializeUI();

    }

    private void initializeUI() {

        // 定义表的列名。

        String[] columnNames = {

            "ID", "Name", "Date of Birth", "Sex"

        };

        // 定义表的数据。

        Object[][] rowData = {

            {1, "Alice", createDOB(1980, Calendar.JANUARY, 1), "F"},

            {2, "Bob", createDOB(1982, Calendar.JUNE, 21), "M"},

            {3, "Carol", createDOB(1970, Calendar.OCTOBER, 12), "M"},

            {4, "Mallory", createDOB(1988, Calendar.FEBRUARY, 19), "M"},

            {5, "Ignasia", createDOB(1984, Calendar.NOVEMBER, 28), "F"}

        };

        // 初始化JTable的实例并指定表

        //数据和列名。之后,我们将桌子放在

        // 滚动窗格。

        JTable table = new JTable(rowData, columnNames);

        JScrollPane pane = new JScrollPane(table);

        // 设置框架设置。

        setTitle("Simple JTable Demo");

        setSize(new Dimension(400, 200));

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        setLayout(new BorderLayout());

        getContentPane().add(pane, BorderLayout.CENTER);

    }

    private String createDOB(int year, int month, int day) {

        Calendar calendar = Calendar.getInstance();

        calendar.set(year, month, day);

        return MessageFormat.format("{0,date,dd-MMM-yyyy}", calendar.getTime());

    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                new SimpleJTableDemo().setVisible(true);

            }

        });

    }

}

当我们运行程序时,我们将看到以下结果:

简单的JTable演示

以上是 Java如何创建简单的JTable组件? 的全部内容, 来源链接: utcz.com/z/343193.html

回到顶部