В приложении я хочу дать возможность сменить тему, но если я обновлю страницу, она вернется к теме по умолчанию, я не знаю, как сохранить тему для всех приложений, кто-то может мне помочь?
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.CustomComponent;
public class ThemeSelectorComboBox extends CustomComponent
{
private static final String SELECT_THEME = "Select theme:";
private final ComboBox<CustomTheme> comboBox = new ComboBox<>();
public ThemeSelectorComboBox()
{
init();
}
private void init()
{
comboBox.setCaption(SELECT_THEME);
comboBox.setItems(CustomTheme.values());
comboBox.setSelectedItem(CustomTheme.MATERIAL_DARK);
comboBox.addValueChangeListener(event -> flipTheme(event.getValue()));
setCompositionRoot(comboBox);
// Set the size as undefined at all levels
comboBox.setSizeUndefined();
setSizeUndefined();
}
private void flipTheme(CustomTheme theme)
{
if (theme != null)
{
getCompositionRoot().getUI().setTheme(theme.getThemeName());
}
}
}