首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何创建只包含列标题而不添加行的JTable

如何创建只包含列标题而不添加行的JTable
EN

Stack Overflow用户
提问于 2018-06-02 23:19:29
回答 2查看 1.7K关注 0票数 0

我正在尝试创建一个没有任何数据行的JTable,只添加了列标题。如何做到这一点?其思想是稍后使用按钮单击事件添加或删除行。

EN

回答 2

Stack Overflow用户

发布于 2018-06-02 23:36:25

这很简单,使用构造函数new JTable(Vector rowData, Vector columnNames)创建一个JTable,其中rowData是新表的数据,columnNames是每列的名称。如果您只想创建一个包含标题而不包含行的表,请将Vector rows设置为空。

代码语言:javascript
复制
Vector rows = new Vector();
Vector headers = new Vector();
headers.addElement("Id");
headers.addElement("First name");
headers.addElement("Last name");

JTable table = new JTable(rows, headers);
票数 1
EN

Stack Overflow用户

发布于 2018-06-03 20:26:33

有许多方法可以创建和定义JTable。要执行您想要的操作,请使用TableModel方法。您可以定义一个空模型,然后用数据填充它。有关示例,请参阅Creating a JTable

下面是一个空表模型的简单演示。

代码语言:javascript
复制
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;

public class JTableDemo {

    public static void main(String args[]) {

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        TableModel model = new DefaultTableModel();

        Object headers[] = { "Column One", "Column Two", "Column Three"};

        TableColumnModel columnModel = new DefaultTableColumnModel();
        TableColumn firstColumn = new TableColumn(1);
        firstColumn.setHeaderValue(headers[0]);
        columnModel.addColumn(firstColumn);

        TableColumn secondColumn = new TableColumn(0);
        secondColumn.setHeaderValue(headers[1]);
        columnModel.addColumn(secondColumn);

        TableColumn thirdColumn = new TableColumn(0);
        thirdColumn.setHeaderValue(headers[2]);
        columnModel.addColumn(thirdColumn);

        JTable table = new JTable(model, columnModel);

        JScrollPane scrollPane = new JScrollPane(table);
        frame.add(scrollPane, BorderLayout.CENTER);
        frame.setSize(300, 150);
        frame.setVisible(true);

    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50658346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档