我在让JTable出现在JPanel中时遇到了一些困难。我使用Netbeans GUI构建器构建了UI,然后从代码创建了jtable,并尝试添加到现有的GUI构建的jpanel。我无法解决问题所在。代码的jtable部分的代码如下所示(数据组成)。我怀疑我在使用GUI构建器时缺少一些步骤,因为如果我不使用GUI构建器,我可以使jtable工作
private void fillOrderDetailsJtable (){
String[] columnNames = {"Order Line No", "Product", "Quantity" };
Object[][] data = {
{"César Cielo", "Filho", "Brazil", "50m freestyle" },
{"Amaury", "Leveaux", "France", "50m freestyle"},
{"Eamon", "Sullivan", "Australia", "100m freestyle"},
};
JTable table = new JTable(data, columnNames);
table.setFillsViewportHeight(true);
JScrollPane tableScrollPane = new JScrollPane(table);
tableScrollPane.setPreferredSize(new Dimension(300, 50));
pnOrderLines.add(tableScrollPane);
Order_OrderLine.this.add(pnOrderLines);
// table.setAutoCreateRowSorter(true);
tableScrollPane.setVisible(true);
pnOrderLines.setVisible(true);
table.setVisible(true);
}
答案 0 :(得分:0)
您是否已将JTable放置在Form上并在从头开始尝试之前检查Netbeans生成的代码?
这是恕我直言,是了解构建表格的最简单方法。
我认为你这样做并将生成的代码与你自己的代码进行比较。
有一些示例代码:
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
getContentPane().add(jScrollPane1);
jScrollPane1.setBounds(158, 100, 292, 246);
pack();