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.java
insrc/main/java
contains the navigation setup. It uses App Layout.views
package insrc/main/java
contains the server-side Java views of your application.views
folder 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.