Java 如何创建只包含列标题,不添加行的JTable
我试图创建一个没有任何数据行、只添加列标题的JTable。怎么做?想法是稍后使用按钮单击事件添加或删除行。很简单,创建一个使用构造函数,其中rowData是新表的数据,columnNames是每个列的名称。如果您只想创建一个有标题但没有行的表,请将向量行设为空Java 如何创建只包含列标题,不添加行的JTable,java,swing,jtable,Java,Swing,Jtable,我试图创建一个没有任何数据行、只添加列标题的JTable。怎么做?想法是稍后使用按钮单击事件添加或删除行。很简单,创建一个使用构造函数,其中rowData是新表的数据,columnNames是每个列的名称。如果您只想创建一个有标题但没有行的表,请将向量行设为空 有许多方法可以创建和定义JTable。要执行所需操作,请使用TableModel方法。您可以定义一个空模型,然后用数据填充它。有关一些示例,请参见 下面是一个空表模型的简单演示 import java.awt.BorderLayout;
有许多方法可以创建和定义JTable。要执行所需操作,请使用TableModel方法。您可以定义一个空模型,然后用数据填充它。有关一些示例,请参见 下面是一个空表模型的简单演示
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);
}
}
我试过这个东西。我得到的是一个空白的白色矩形,没有标题,什么都没有。没有任何迹象表明这是一张桌子。我想,我遗漏了什么……谢谢你的回复。我已经有了一个解决办法。我也要试试这个
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);
}
}