我正在使用Vaadin。我想使用 Native Select 在语言环境之间切换。
@Override
public void valueChange(ValueChangeEvent event) {
UI.getCurrent().setLocale(loc);
}
我想使用event.getProperty()
,但“loc”必须是 Locale 类型。如何获取本地选择的值并将其转换为区域设置类型?
我猜你是这样填充NativeSelect
的:
nativeSelect.addItem(Locale.ENGLISH);
nativeSelect.addItem(Locale.GERMAN);
...
// you can also use setItemCaption(objectId, caption) method to give humanized
// caption to each item in NativeSelect.
之后,您可以Property.ValueChangeListener
向NativeSelect
组件添加一个:
nativeSelect.addListener(new Property.ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
Locale loc = (Locale) event.getProperty().getValue();
UI.getCurrent().setLocale(loc);
}
});