我对此有一个罕见的问题。
当我将代码放在按钮的事件中时,它可以正常工作,并且表格可以正确显示,但是当我将其放在initComponents()函数下方(在构造函数内部)时,它不起作用。

String[] columnNames = {"Nick", "E-Mail"};
Object[][] data = {
{"Kathy", "[email protected]"},
{"John", "Doe"},
{"Sue", "Black"},
{"Jane", "White"},
{"Joe", "Brown"}

};

   jPanel1.setLayout(new BorderLayout());
   JTable table = new JTable(data, columnNames);
   Dimension dim = new Dimension(jPanel1.getWidth(),jPanel1.getHeight());
   JScrollPane tableScroll = new JScrollPane(table);
   tableScroll.setPreferredSize(dim);
   jPanel1.add(tableScroll, BorderLayout.CENTER);
   jPanel1.validate();


有任何想法吗?

最佳答案

替换Dimension dim = new Dimension(jPanel1.getWidth(),jPanel1.getHeight());
因为在JFrame.pack()JFrame.setVisible(true)返回零维之前[0,0]


table.setPreferredScrollableViewportSize(table.getPreferredSize());

09-08 07:43