JavaFX 2.x TableView本地化

时间:2012-07-04 18:30:40

标签: localization tableview javafx-2

当TableView控件不包含任何内容时,它会显示“表中没有内容”。如何更改/本地化该字符串?

3 个答案:

答案 0 :(得分:21)

你去吧

tableView.setPlaceholder(new Text("Your localized text here"));

答案 1 :(得分:1)

如果没有数据

,表格视图中不会显示任何内容
.table-row-cell:empty {
    -fx-background-color: lightyellow;
}

.table-row-cell:empty .table-cell {
    -fx-border-width: 0px;
}

答案 2 :(得分:1)

遵循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());

    }
    ...
}

当您即将更改本地化时,您需要的是编辑属性文件。