This project showcases dynamic theming in Vaadin Flow.
The ThemeUtil and ThemeSelector classes allow dynamically changing the theme, by setting an attribute on the body element.
The styles in /frontend/themes/dynamicthemedemo depend on this attribute.
The ThemeBoostrapListener is used to set the initial attribute on page load.
To run from the command line, use mvn and open http://localhost:8080 in your browser.
- Locate the Application.java class in the Project view. It is in the src folder, under the main package's root.
- Right-click on the Application class
- Select "Debug 'Application.main()'" from the list
After the application has started, you can view it at http://localhost:8080/ in your browser. You can now also attach breakpoints in code for debugging purposes, by clicking next to a line number in any source file.
- Locate the Application.java class in the Package Explorer. It is in
src/main/java, under the main package. - Right-click on the file and select
Debug As-->Java Application.
Do not worry if the debugger breaks at a SilentExitException. This is a Spring Boot feature and happens on every startup.
After the application has started, you can view it at http://localhost:8080/ in your browser. You can now also attach breakpoints in code for debugging purposes, by clicking next to a line number in any source file.
MainView.javainsrc/main/javacontains the navigation setup. It uses App Layout.viewspackage insrc/main/javacontains the server-side Java views of your application.viewsfolder infrontend/contains the client-side JavaScript views of your application.
vaadin.com has lots of material to help you get you started:
- Follow the tutorials in vaadin.com/tutorials. Especially vaadin.com/tutorials/getting-started-with-flow is good for getting a grasp of the basic Vaadin concepts.
- Read the documentation in vaadin.com/docs.
- For a bigger Vaadin application example, check out the Full Stack App starter from vaadin.com/start.