我有一个表,当用户提示我这样做时,我想填充它。问题是,我无法预料表格最终会有多少行。在将显示表格的面板的构造函数中,我有
// add empty scrollPane to JPanel which will later hold table
scrollPane = new JScrollPane();
add(scrollPane);
这个类包含一个方法,当我想最终显示表格时会被调用
public void displayTable(String[] columnNames, String[][] dataValues)
{
table = new JTable(dataValues, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(300, 80));
table.setFillsViewportHeight(true);
scrollPane.add(table);
this.setVisible(true);
scrollPane.repaint();
}
问题是,表格永远不会显示。我只看到 ScrollPane 所在位置的轮廓,里面没有表格。为什么表格不显示,我该如何解决?
最佳答案
您不应将组件添加到 JScrollPane,而应添加到其 JViewport:
scrollPane.getViewport ().add (table);
关于java - 动态添加 JTable 到 JScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14899918/