我的 JTable 根本不显示
My JTable is not displaying at all
我知道 JTable 通常放在 JScrollPane 中,但我根本不想滚动,我希望 table 在添加行时增长。
我使用 NetBeans IDE 8.2 创建了一个 swing 应用程序,它几乎可以用我放在 JPanels 中的 tables 做我想做的事情,数据和 header 在单独的面板中。
我试图从基础开始并手工制作我需要的代码,但它根本没有显示 table。
public NewJFrame1() {
initComponents();
JTable table = new JTable();
DefaultTableModel tableModel = new DefaultTableModel();
tableModel.addColumn("Type");
tableModel.addColumn("Folder");
String[] row = {"Datum1","Datum2"};
table.setModel(tableModel);
tableModel.addRow(row);
this.getContentPane().add(table.getTableHeader());
this.getContentPane().add(table);
}
我认为您应该将模型设置为 table
table.setModel(tableModel); //add this to your code
好的,据我所知,您正在使用 Netbeans 并创建 JFrame。如果您从设计中插入 table,则无需在 constructor.Just 中创建另一个 table,只需:
public NewJFrame() {
initComponents();
DefaultTableModel tableModel = new DefaultTableModel();
tableModel.addColumn("Type");
tableModel.addColumn("Folder");
String[] row = {"Datum1","Datum2"};
tableModel.addRow(row);
jTable1.setModel(tableModel);// where jTable1 has been created and instantiated automatically by netbeans when you draged and dropt it to your frame , from the design.
}
Radu Soigan 是对的,JTable 和 TableModel 是单独的对象,需要使用 setModel(tableModel) 方法将它们链接在一起,因为 table 不知道数据的位置显示在。这对于自定义table模型也是一样的,永远记得在设置模型后将其设置到JTable。
我知道 JTable 通常放在 JScrollPane 中,但我根本不想滚动,我希望 table 在添加行时增长。 我使用 NetBeans IDE 8.2 创建了一个 swing 应用程序,它几乎可以用我放在 JPanels 中的 tables 做我想做的事情,数据和 header 在单独的面板中。
我试图从基础开始并手工制作我需要的代码,但它根本没有显示 table。
public NewJFrame1() {
initComponents();
JTable table = new JTable();
DefaultTableModel tableModel = new DefaultTableModel();
tableModel.addColumn("Type");
tableModel.addColumn("Folder");
String[] row = {"Datum1","Datum2"};
table.setModel(tableModel);
tableModel.addRow(row);
this.getContentPane().add(table.getTableHeader());
this.getContentPane().add(table);
}
我认为您应该将模型设置为 table
table.setModel(tableModel); //add this to your code
好的,据我所知,您正在使用 Netbeans 并创建 JFrame。如果您从设计中插入 table,则无需在 constructor.Just 中创建另一个 table,只需:
public NewJFrame() {
initComponents();
DefaultTableModel tableModel = new DefaultTableModel();
tableModel.addColumn("Type");
tableModel.addColumn("Folder");
String[] row = {"Datum1","Datum2"};
tableModel.addRow(row);
jTable1.setModel(tableModel);// where jTable1 has been created and instantiated automatically by netbeans when you draged and dropt it to your frame , from the design.
}
Radu Soigan 是对的,JTable 和 TableModel 是单独的对象,需要使用 setModel(tableModel) 方法将它们链接在一起,因为 table 不知道数据的位置显示在。这对于自定义table模型也是一样的,永远记得在设置模型后将其设置到JTable。