ユーザーから入力を求められたときに入力したいテーブルがあります。問題は、テーブルにいくつの行が含まれるかを予測できないことです。テーブルが表示されるパネルのコンストラクターには、
// 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がテーブルなしでどこにあるかのアウトラインが表示されます。テーブルが表示されないのはなぜですか?どうすれば修正できますか?