【发布时间】:2017-08-18 09:32:42
【问题描述】:
我的应用应该有多种语言。默认情况下是英语。问题是如果用户切换到不同的语言,除了ComboBox 选择的值之外的所有内容都将被翻译。看起来是这样的:
ComboBox 后面的代码是:
ObservableList<Currency> currencyItem= CurrencyDA.getCurrencies();
currenciesComboBox.setItems(currencyItem);
Callback<ListView<Currency>, ListCell<Currency>> currencyFactory = lv -> new ListCell<Currency>(){
@Override
protected void updateItem(Currency currency, boolean empty){
super.updateItem(currency, empty);
setText(empty ? "" : interfaceBundle.getString("currency_"+currency.getName()));
}
};
currenciesComboBox.setCellFactory(currencyFactory);
currenciesComboBox.setButtonCell(currencyFactory.call(null));
currenciesComboBox.getSelectionModel().selectFirst();
如何刷新选定的值?
【问题讨论】:
-
您还应该注意您的更新项方法是错误的。您应该测试 item 是否为 != null 并且在 setText 到单元格之前是否不为空,否则将其设置为 null。请参考文档中的示例
标签: javafx combobox translation