1

我正在使用Vaadin。我想使用 Native Select 在语言环境之间切换。

@Override
public void valueChange(ValueChangeEvent event) {
    UI.getCurrent().setLocale(loc);
}

我想使用event.getProperty(),但“loc”必须是 Locale 类型。如何获取本地选择的值并将其转换为区域设置类型?

4

1 回答 1

7

我猜你是这样填充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.ValueChangeListenerNativeSelect组件添加一个:

  nativeSelect.addListener(new Property.ValueChangeListener() {

        @Override   
        public void valueChange(ValueChangeEvent event) {
            Locale loc = (Locale) event.getProperty().getValue();
            UI.getCurrent().setLocale(loc);
        }

  });
于 2013-01-30T19:28:39.343 回答