そのように実装されたロケールのネイティブ選択があります:
NativeSelect selectLang = new NativeSelect();
for (Locale locale : localeProvider.getSupportedLocales()) {
selectLang.setItemCaption(locale, localeProvider.getLabel(locale));
selectLang.addItem(locale);
}
selectLang.setValue(user.getLocale());
selectLang.setNullSelectionAllowed(false);
selectLang.addItemSetChangeListener(new ItemSetChangeListener() {
private static final long serialVersionUID = 4797561043434404341L;
@Override
public void containerItemSetChange(ItemSetChangeEvent event) {
// Locale loc = (Locale)event.getContainer().getValue();
// UI.getCurrent().setLocale(loc);
}
});
event.getContainer().getValue() を使用したかったのですが、メソッド getValue() が Container 型に対して定義されていません。イベントの値を取得するにはどうすればよいですか?