如何在Vaadin 10组合框中添加语言标志

如何在Vaadin 10组合框中添加语言标志,vaadin,Vaadin,如何在Vaadin 10 Como框中添加语言标志 您可以使用comboBox.setRenderer()来构建您自己的将要使用的布局 comboBox.setRenderer(new ComponentRenderer<HorizontalLayout, MyLanguageClass>(language -> { HorizontalLayout layout = new HorizontalLayout(); layout.add(new Image(la

如何在Vaadin 10 Como框中添加语言标志


您可以使用
comboBox.setRenderer()
来构建您自己的将要使用的布局

comboBox.setRenderer(new ComponentRenderer<HorizontalLayout, MyLanguageClass>(language -> {
    HorizontalLayout layout = new HorizontalLayout();
    layout.add(new Image(language.getPathToFlag(), language.getName()));
    layout.add(new Label(language.getName()));
    return layout;
}));
编辑2:我在中发布了类
LanguageSelect
,作为一个附加组件,它基于此代码,但使用起来更简单。仅适用于Vaadin 14

LanguageSelect langSelect = new LanguageSelect(new Locale("de"), new Locale("fr"), new Locale("en"));
add(langSelect);

// in localeChange() 
langSelect.refresh();


您能添加一点上下文吗?如果我们不知道您尝试了什么,我们就无法真正帮助您。我想创建一个语言切换器,为此我想在语言文本之前添加一个语言标志,如我在所附图像中所示。请查看此示例或此示例
LanguageSelect langSelect = new LanguageSelect(new Locale("de"), new Locale("fr"), new Locale("en"));
add(langSelect);

// in localeChange() 
langSelect.refresh();