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);

или что когда-либо относится к вам!

Другие вопросы по тегам