Skip to content

Scene Builder is a visual, drag 'n' drop, layout tool for designing JavaFX application user interfaces.

License

Notifications You must be signed in to change notification settings

leewyatt/scenebuilder

 
 

Repository files navigation

Gluon Scene Builder

Gluon Scene Builder is a drag and drop UI designer tool allowing rapid desktop and mobile app development. Scene Builder separates design from logic, allowing team members to quickly and easily focus on their specific aspect of application development.

Scene Builder works with the JavaFX ecosystem – official controls, community projects, and Gluon offerings including Gluon Mobile, Gluon Desktop, and Gluon CloudLink.

Scene Builder is open source, and it is freely licensed under the BSD license. Gluon can provide custom consultancy, training, and open source commercial support.

Getting started

The best way to get started with Gluon Scene Builder is by downloading and installing on your developer machine the latest Scene Builder release.

See the documentation about the new features recently included.

For community support, go to StackOverflow.

Issues and Contributions

Issues can be reported to the Issue tracker

Contributions can be submitted via Pull requests, providing you have signed the Gluon Individual Contributor License Agreement (CLA). Please check the contribution guide for more details.

Building Scene Builder

Requisites

Gluon Scene Builder is frequently released, and this is only required in case you want to fork and build your local version of Scene Builder.

These are the requisites:

  • A recent version of JDK 11 or later for building 'master' branch
  • A recent version of JDK 8 for building '8u-dev' branch

How to build Scene Builder

Scene Builder makes use of the Maven Wrapper to build and run the project. So there is no need to install Maven on the developers machine. To utilize Maven Wrapper, instead of calling mvn, one can run ./mvnw on Linux or macOS or mvnw on Windows instead.

To build the Scene Builder services, on the project's root, run:

mvn clean package

Alternatively, utilizing the Maven Wrapper, one can run:

./mvnw clean package

It will create a partial shadow cross-platform jar under app/target/lib/scenebuilder-$version.jar, that doesn't include the JavaFX dependencies.

How to run Scene Builder

Before starting the app, all dependencies must be installed locally. This is achieved by:

mvn install

Then Scene Builder can be started with Maven:

mvn javafx:run -f app

Alternatively, you can run the partial shadow jar, providing you have downloaded the JavaFX SDK from here:

java 
--module-path /path/to/javafx-sdk-$javafxVersion/lib \
--add-modules javafx.web,javafx.fxml,javafx.swing,javafx.media \
--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED \
-cp app/target/lib/scenebuilder-$version.jar \
com.oracle.javafx.scenebuilder.app.SceneBuilderApp

Scene Builder Kit

To build and install the Scene Builder Kit in your local repository, run:

mvn clean install -f kit

The custom controls of the Scene Builder kit can be used in your project. You can add it as a regular dependency to the build of your app:

<dependency>
  <groupId>com.gluonhq.scenebuilder</groupId>
  <artifactId>kit</artifactId>
  <version>$version</version>
</dependency>

Code Style

To ensure that new code formatting matches the requirements for Pull Requests, the Maven Checkstyle plugin can be used to create a report listing possibly coding style violations.

Contributors can check for code-style violations in their code by running the Checkstyle Maven goal. The checkstyle configuration is currently in a very early stage and only checks for empty blocks, extra white space, padding and empty lines.

To run the plugin:

mvn checkstyle:checkstyle

There will be a report for each sub-project, one for app and one for kit.

  • Kit: kit/target/site/checkstyle.html
  • App: kit/target/site/checkstyle.html

About

Scene Builder is a visual, drag 'n' drop, layout tool for designing JavaFX application user interfaces.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.1%
  • CSS 2.9%