Когда элемент управления TableView не содержит содержимого, он отображает "Нет содержимого в таблице". Как изменить/локализовать эту строку?
Локализация JavaFX 2.x TableView
Ответ 1
Здесь вы идете
tableView.setPlaceholder(new Text("Your localized text here"));
Ответ 2
в представлении таблицы ничего не отображается, если нет данных
.table-row-cell:empty {
-fx-background-color: lightyellow;
}
.table-row-cell:empty .table-cell {
-fx-border-width: 0px;
}
Ответ 3
Следуя рекомендациям JavaFX, было бы лучше реализовать это как
Model.java
class Model {
private final ObjectProperty<Text> placeholderProperty;
Model(ResourceBundle resourceBundle) {
placeholderProperty = new SimpleObjectProperty<>(new Text(resourceBundle.getString("placeholderTextFromLocalizationProperties")));
}
...
ObjectProperty<Text> placeholderProperty() {
return placeholderProperty;
}
}
Controller.java
class Controller implements Initializable {
private Model model;
@FXML
private TableView tableView;
...
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
model = new Model(resourceBundle);
tableView.setPlaceholder(model.placeholderProperty().get());
}
...
}
Когда вы собираетесь изменить локализацию, вам нужно только отредактировать файл своей собственности.