Questions tagged [vaadin]

Use the [vaadin] tag for all posts relating to any use of the Vaadin web application development platform. For posts related to a particular Vaadin or a specific component, additionally tag the post with the corresponding tag, for example: [vaadin8], and [vaadin-upload], respectively.

Overview

Vaadin is an open source platform for building web applications. The Vaadin platform consists of a set of web components, a Java web framework, a TypeScript web framework, a Collaboration Engine, and a set of tools.

Flow

The Java web framework, Flow, uses Java for both the frontend and backend code. UIs can be created either by constructing and laying out components with Java or by declaring them with a LitElement template. UI event handling code is implemented in Java and runs on the server. UI state is also maintained on the server.

Vaadin's legacy Java web application development offering, Vaadin Framework, preceded Vaadin 10, and was built on GWT (Google Web Toolkit).

Fusion

The TypeScript web framework, Fusion, uses TypeScript for the UI code and Java for the backend (endpoint) code. UIs are created by declaring them within a TypeScript/LitElement class. UI event handling code is implemented in TypeScript and runs in the browser. UI state is also maintained in the browser.

Components

Vaadin Components are standard WebComponents implemented in LitElement. In addition to being used by Flow and Fusion, Vaadin Components can be used by other web technologies, such as Angular, React, and Vue. Prior to Vaadin 15, Components were implemented in Polymer.

Marketing Blurb

  • Vaadin improves the client side presentation layer by introducing client-server web components for rapid application development.

  • For Flow-based applications, a few lines of Java code and Vaadin takes care of the rest. No complex configurations, no JavaScript. Code on the server side.

  • For Fusion-based applications, the UI gains a reactive TypeScript frontend with a Spring Boot integrated backend, so you can focus on building your app instead of configuring stuff.

  • Wide browser support - Built on Internet standards, Vaadin applications support all modern browsers.

  • Stunning Web Applications - The look and feel makes a difference. Vaadin comes with great-looking components and easy use of themes.

Versions & Roadmap

Summary

  • Vaadin 22, the latest major version, was released on 9 December 2021.

  • Vaadin 14 was released on 14 August 2019 and is the most recent LTS (Long Term Support) version.

  • Vaadin 10 was released on 25 June 2018 and is the previous LTS version.

  • Vaadin Framework 8 was released in Feb 2017.

  • Vaadin Framework 6 and 7 are still also in active use but are not officially maintained.

  • Vaadin 23, the next LTS version, is slated for release in March 2022.

For new projects, version 14 or 22 is recommended.

Details

For the most up-to-date version and roadmap details, see:

Question and Search Hints

For some questions and queries, the answer is same regardless of Vaadin version or framework. However, it is often relevant to include the major version in the question or query as well.

6816 questions
2
votes
1 answer

Get a list of the elements under a certain table column

This table is produced by my code below. (The table's data is rubbish) Question: How can I get a list of the items under a certain column in the order they appear? I want to do something like table.GetListFromColumn("carmake") so I would have…
Kevvvvyp
  • 1,704
  • 2
  • 18
  • 38
2
votes
1 answer

Sort table columns on header click?

The code below produces this outout: If you try this code, vaadin automatically knows how to sort on CARMAKE & TOPSPEED when you click on their headers. PASSENGER & DRIVER are not sorted on a header click. How can I do this? Where does the Table…
Kevvvvyp
  • 1,704
  • 2
  • 18
  • 38
2
votes
2 answers

Vaadin - center custom component

Using Grails 2.3.9 and Vaadin plugin 7.3.9 class MyUI extends UI { @Override protected void init(VaadinRequest vaadinRequest) { VerticalLayout layout = new VerticalLayout() layout.setMargin(true) SignInForm…
A.W.
  • 2,858
  • 10
  • 57
  • 90
2
votes
0 answers

Vaadin widgetset is in wrong location in jar (Embedded Jetty + Maven Assemble)

I created a new Java project with the Maven Vaadin application archetype. My goal was to have an executable jar that deployed a Vaadin servlet on Jetty. I use the Maven assembly plugin. When I assemble and run my application, I get the following…
Sevag
  • 191
  • 2
  • 15
2
votes
1 answer

How to set subwindow height dynamically in Vaadin

I have a very strange problem in my vaadin application. I am opening a subwindow from main window and that subwindow performs some actions in background and display some new content the process continues to change the contents likewise. The problem…
ersnh
  • 522
  • 1
  • 8
  • 20
2
votes
1 answer

changes in style.css reset when clean install vaadin-maven project

I am using Maven to handle build and dependency management. I recently bugged by very weird issue related to css. I noticed whenever I run mvn clean install on my project, all my changes inside style.css lost ! however changes inside style.scss…
Aman Gupta
  • 5,548
  • 10
  • 52
  • 88
2
votes
3 answers

Read and write cookies with @Push

In my vaadin application, i need to use @Push, but since i added it, i can't read and write cookies because VaadinService.getSurrentResponse()returns null because of Push. I manager cookies using this class : import…
Supamiu
  • 8,501
  • 7
  • 42
  • 76
2
votes
1 answer

change background color of a Layout - Vaadin

in one of my apps, i created a footer : public Footer(){ hl.setHeight("120px"); hl.setWidth("100%"); hl.setMargin(true); hl.setSpacing(true); VerticalLayout contact = new VerticalLayout(); Label contact_title…
Supamiu
  • 8,501
  • 7
  • 42
  • 76
2
votes
1 answer

How to use Valo fonts in custom theme

The new Valo theme in Vaadin 7.3 and later comes bundled with some fonts: Lato Lora Open Sans Roboto Source Sans Pro I'm struggling with adding these Valo fonts into my custom theme. This is what I have but it doesn't seem to…
JaneVi
  • 199
  • 1
  • 16
2
votes
1 answer

Vaadin basic layout: fixed header and footer + scrollable content

I am new to Vaadin and trying to know if it can suit my needs for a webapp project migration. Actually I'm already loosing my time on a simple goal: to have a layout with fixed headers and footers, and a scrollable content in the middle. I made a…
toni07
  • 356
  • 7
  • 20
2
votes
0 answers

Vaadin Valo page will not scroll

I'm creating a new Vaadin theme based on the native Valo theme. After the upgrade to Vaadin 7.3 Valo (done by someone else) the page content won't scroll anymore. All of the other elements on the page where overflow property is applied, work fine…
JaneVi
  • 199
  • 1
  • 16
2
votes
1 answer

Sanitizing a Vaadin RichTextArea

Vaadin framework has this useful RichTextArea component. It is however possible for users to insert harmful javascript for example into this field so the value of the field should be sanitized before saving. What would be the Vaadin way of doing…
Steve Waters
  • 3,348
  • 9
  • 54
  • 94
2
votes
2 answers

How to add all values from UnmodifiableSet to ArrayList?

I have a twinColSelect and i m populating this from database. I need to access its selected items. I tried below the code but it didn't worked. How can i do that ? ArrayList systemNames = new ArrayList(); systemNames =…
developerCoder
  • 176
  • 5
  • 16
2
votes
1 answer

Mixing Vaadin and Spring: DispatcherServlet used before Vaadin Resources

I'm using Spring and Vaadin in combination in one Web application. I mapped the DispatcherServlet to the URL "/" (using it for a REST API) and mapped the Vaadin Servlet on /rsp. When I open the Application I get the following error message in the…
Jens Baitinger
  • 2,230
  • 14
  • 34
2
votes
1 answer

Connecting to sqlite file using Vaadin

My problem is that I can't connect to my sqlite database file using Vaadin. I always get a requested resource is not available error. What's wrong with my code? private Container buildContainer() throws SQLException { …
user2024449