--- /dev/null
+[[changing-theme-on-the-fly]]
+Changing theme on the fly
+-------------------------
+
+Starting from Vaadin 7.3, you can change themes in the application
+without reloading the page. To do this, simply use the
+`UI.setTheme(String)` method.
+
+[source,java]
+....
+public class ThemeChangeUI extends UI {
+
+ private String[] themes = { "valo", "reindeer", "runo", "chameleon" };
+
+ @Override
+ protected void init(VaadinRequest request) {
+ ComboBox themePicker = new ComboBox("Theme", Arrays.asList(themes));
+ themePicker.setValue(getTheme());
+
+ themePicker.addValueChangeListener(new ValueChangeListener() {
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ String theme = (String) event.getProperty().getValue();
+ setTheme(theme);
+ }
+ });
+
+ setContent(themePicker);
+ }
+}
+....
+
+In this way, you can let your users choose the look of your application.
+The functionality also makes it easier to create applications that are
+branded for different customers.
- link:ValoThemeGettingStarted.asciidoc[Valo theme - Getting started]
- link:UseTooltipsToClarifyFunctions.asciidoc[Use tooltips to clarify functions]
- link:EnableAndDisableButtonsToIndicateState.asciidoc[Enable and disable buttons to indicate state]
+- link:ChangingThemeOnTheFly.asciidoc[Changing theme on the fly]
- link:CreatingAUIExtension.asciidoc[Creating a UI extension]
- link:CreatingAThemeUsingSass.asciidoc[Creating a theme using Sass]