我在让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);
}
发布于 2017-08-23 21:40:57
那么,在尝试从头开始之前,您是否将JTable放到表单中并检查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();
https://stackoverflow.com/questions/45841221
复制相似问题