Я пытаюсь написать программу, которая отображает содержимое таблицы в базе данных в графическом интерфейсе javafx, используя TableView.У меня есть общий графический интерфейс, который имеет пустой TableView в нем.После того, как вы решите, какую таблицу вы хотите отобразить в приложении, отправьте имя таблицы в промежуточное программное обеспечение, которое получает все имена столбцов из базы данных и отправляет их bakc в приложение. Затем я перебираю все имена столбцов, генерирую новый TableColumn и добавляюэто к TableView и вызовите метод refresh()
TableView.Используя table.getChidlren();
, я вижу, что столбцы были успешно добавлены в TableView, однако они вообще не отображаются в графическом интерфейсе JavaFX.Он просто продолжает отображать «Нет столбцов в таблице».Все fx: id и классы контроллеров тоже правильные.
Вот мой код:
public void loadTableContent(){
try (Socket client = new Socket(InetAddress.getLocalHost(), 667);
ObjectOutputStream oos = new ObjectOutputStream(client.getOutputStream());
ObjectInputStream ois = new ObjectInputStream(client.getInputStream())) {
System.out.println("Sending request");
oos.writeUTF(databaseTableComboBox.getSelectionModel().getSelectedItem().toString());
oos.flush();
System.out.println("reading from sever");
String[] columnNames = ois.readUTF().split(";");
System.out.println("Column names received");
for (String s: columnNames)
table.getColumns().add(new TableColumn(s));
table.refresh();
} catch (IOException e) {
e.printStackTrace();
}
}