Вы можете попытаться восстановить его из MATE Tweak (mate-tweak), сбросив макет панели:
Откройте вкладку «Панель» и попытайтесь переключить макеты панелей, например,
Также вы можете попытаться убить nm-апплет и запустить его снова с помощью:
killall nm-applet
nohup nm-applet &
Указанный вами подход к отображению работоспособности.
Наиболее возможная ошибка - не подгружен / не существует связанный ClientsEntity. В этом случае появился бы NPE.
Так же, скорее всего PropertyValueFactory не отображает данные (зависит от того, то как вы построили модель).
Вот простой пример:
import javafx.application.Application;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class Main extends Application {
static ObservableList<OrdersEntity> getTestData() {
ClientsEntity clientsEntity = new ClientsEntity();
clientsEntity.idclients = 1;
clientsEntity.fio = "Иванов Иван Иванович";
ClientsEntity clientsEntity1 = new ClientsEntity();
clientsEntity1.idclients = 2;
clientsEntity1.fio = "Петров Петр Петрович";
ClientsEntity clientsEntity2 = new ClientsEntity();
clientsEntity2.idclients = 3;
clientsEntity2.fio = "Николаев Николай Николаевич";
OrdersEntity ordersEntity = new OrdersEntity();
ordersEntity.idorders = 1;
ordersEntity.clientsByIdclients = clientsEntity;
OrdersEntity ordersEntity1 = new OrdersEntity();
ordersEntity1.idorders = 2;
// ordersEntity1.clientsByIdclients = clientsEntity1;
OrdersEntity ordersEntity2 = new OrdersEntity();
ordersEntity2.idorders = 3;
ordersEntity2.clientsByIdclients = clientsEntity2;
return FXCollections.observableArrayList(ordersEntity, ordersEntity1, ordersEntity2);
}
@Override
public void start(Stage primaryStage) throws Exception {
TableColumn<OrdersEntity, Integer> tcOrdersEntityId = new TableColumn<>("Order ID");
tcOrdersEntityId.setCellValueFactory(param -> new SimpleObjectProperty<>(param.getValue().idorders));
TableColumn<OrdersEntity, Integer> tcClientsEntityId = new TableColumn<>("Client ID");
tcClientsEntityId.setCellValueFactory(param -> new SimpleObjectProperty<>(
param.getValue().clientsByIdclients == null ? null : param.getValue().clientsByIdclients.idclients
));
TableColumn<OrdersEntity, String> tcClientsEntityFio = new TableColumn<>("Client FIO");
tcClientsEntityFio.setCellValueFactory(param -> new SimpleStringProperty(
param.getValue().clientsByIdclients == null ? null : param.getValue().clientsByIdclients.fio
));
TableView<OrdersEntity> tableView = new TableView<>();
tableView.getColumns().addAll(tcOrdersEntityId, tcClientsEntityId, tcClientsEntityFio);
tableView.setItems(getTestData());
primaryStage.setScene(new Scene(tableView, 300, 300));
primaryStage.show();
}
static class OrdersEntity {
int idorders;
ClientsEntity clientsByIdclients;
}
static class ClientsEntity {
int idclients;
String fio;
}
}