In order to get the ThemeSwitcher to work, we need to provide a list of theme names that ThemeSwitcher uses to offer the user a choice of themes. We will do this in the ThemeService
Bean as an extension to the services it provides.
Note
As the Bean is application scoped, there is only one instance of it during the lifetime of the application. Thus, we are saving valuable resources by doing so.
We will add a new property to the Bean in a manner that is similar to how we added the theme
property to the CurrentTheme
Bean. The completely filled out Add Property dialog box is shown in the following screenshot:
The themes
property is an array because it will never be modified at runtime. Hence, it is a read-only property and hence the final
keyword.
Place the cursor after private final String[] themes =
but before ;
. Then, add the following code to initialize the array. The added code is highlighted for you:
private final String[] themes = {"afterdark", "afternoon...