JTable в JScrollPane
Я пытаюсь поместить JTable в JScrollPane.
Вот мой код:
String SQLquery="SELECT Name FROM Teacher";
PreparedStatement prepStat = con.prepareStatement(SQLquery);
MyTableModel model= AccesBDGen.createTableModel(prepStat);
JTable table = new JTable(model);
JScrollPane scroll = new JScrollPane(table);
getContentPane().add(scroll);
И метод AccesBDGen:
public static MyTableModel createTableModel (PreparedStatement prepStat)
throws SQLException
{ResultSet data= prepStat.executeQuery();
ArrayList <String> nameColumn = createNomColonnes(data);
ArrayList <Object> row= createRow(data);
ArrayList <Object> objectTypes = createObjectTypes(data);
MyTableModel model = new MonTableModel(nameColumn ,row, objectTypes );
return model;
}
Но это не работает. Когда я пытаюсь отобразить свой JTable, у меня нет проблем. Но когда я пытаюсь отобразить JSCrollPane, он пуст.
1 ответ
Как говорит Камикр, я подозреваю, что вам, вероятно, нужно добавить таблицу на панель, а не полосу прокрутки!
Когда вы добавляете компонент к другому компоненту в колебании, этот компонент может существовать только с этим компонентом, и он создает ошибки, если используется иначе!
поэтому в конце вашего кода вы должны писать
getContentPane().add(scroll);
и не
getContentPane().add(table);
или что когда-либо относится к вам!