0

そのように実装されたロケールのネイティブ選択があります:

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 型に対して定義されていません。イベントの値を取得するにはどうすればよいですか?

4

2 に答える 2

0

メソッドで nativeSelect の現在の値を取得する場合は、selectLang.getValue() を使用できます。

selectLang.addListener(新しいValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            selectLang.getValue();

        }
    });

もちろん、コンポーネントに「final」を追加してください。

于 2013-02-08T13:11:43.013 に答える
0

SelectExample.java (dev.vaadin.com)

于 2013-02-07T12:32:28.760 に答える