<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-button</artifactId>
<version>14.x.x</version>
</dependency>
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.component.notification.Notification;
@Route(value = "", layout = MainLayout.class)
@PageTitle("Main")
public class MainView extends VerticalLayout {
public MainView() {
button.addClickListener(event -> {
});
add(button);
}
}
import com.vaadin.flow.component.applayout.AppLayout;
import com.vaadin.flow.component.applayout.DrawerToggle;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.Text;
import com.vaadin.flow.router.RouterLink;
import com.vaadin.flow.theme.Theme;
import com.vaadin.flow.theme.lumo.Lumo;
@Theme(value = Lumo.class, variant = Lumo.DARK)
public class MainLayout extends AppLayout {
public MainLayout() {
addToNavbar(true, new DrawerToggle());
addToNavbar(true, new Text("My Application"));
VerticalLayout menuLayout = new VerticalLayout();
addToDrawer(menuLayout);
}
}
import com.vaadin.flow.server.PWA;
import com.vaadin.flow.component.dependency.CssImport;
import com.vaadin.flow.component.dependency.JsModule;
import com.vaadin.flow.component.icon.VaadinIcon;
import com.vaadin.flow.server.VaadinServlet;
import javax.servlet.annotation.WebServlet;
@PWA(name = "My Application", shortName = "App", iconPath = "icons/icon.png")
@JsModule("./styles/shared-styles.js")
@CssImport("./styles/styles.css")
@WebServlet(value = "/*", asyncSupported = true)
public class Application extends VaadinServlet {
}