簡體   English   中英

如何創建僅包含列標題的JTable,不添加任何行

[英]How to Create a JTable with column headers only, no rows added

我試圖創建一個JTable,不包含任何數據行,僅添加列標題。 怎么做? 想法是稍后使用按鈕單擊事件添加或刪除行。

很簡單,使用構造函數new JTable(Vector rowData, Vector columnNames)創建一個JTable ,其中rowData是新表的數據, columnNames是每列的名稱。 如果您只想創建一個沒有標題的表而沒有行,則將Vector rows空。

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);

有很多創建和定義JTable的方法。 若要執行所需的操作,請使用TableModel方法。 您可以定義一個空模型,然后在其中填充數據。 有關一些示例,請參見創建JTable

這是一個空表模型的簡單演示。

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);

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM