Docs

Getting Started

Run a Swing application in the browser in five minutes with the SwingBridge skeleton starter.

This page walks through the fastest path to a running SwingBridge application. The goal is to get the bundled sample Swing app rendering in your browser, so you can see what SwingBridge does end‑to‑end before adapting it to your own code.

For a from‑scratch Maven project (no skeleton), see Installation. To replace the sample app with your own JAR, see Adding Your Swing Application.

Before You Start

You need:

  • Java 21 or later. SwingBridge requires the same minimum JDK as Vaadin.

  • A Vaadin commercial subscription or trial license installed in your home directory (~/.vaadin/proKey on macOS or Linux, %userprofile%\.vaadin\proKey on Windows). The first commercial Vaadin run prompts you to log in and downloads the license automatically; for the manual route see License Installation.

Maven is not required separately — the skeleton starter ships with Maven Wrapper.

Clone the Skeleton Starter

Source code
terminal
git clone https://github.com/vaadin/skeleton-starter-vaadin-swing-bridge.git
cd skeleton-starter-vaadin-swing-bridge

The starter ships with a sample Swing application in the applibs directory, a Vaadin view that wraps it, and the Maven configuration with the JVM flags SwingBridge needs.

Run the Application

Source code
terminal
./mvnw spring-boot:run
terminal
terminal
terminal

Open http://localhost:8888 in your browser. The sample Swing application renders inside a Vaadin view; mouse, keyboard, dialogs, and popups all work as they would on the desktop.

Note

SwingBridge needs special JVM flags to access internal Java modules, so the IDE green play button does not work. Always launch through Maven from the terminal — see Running and Debugging for details and remote‑debug setup.

Next Steps

Updated