{"id":13798651,"url":"https://github.com/gluonhq/scenebuilder","last_synced_at":"2025-05-14T10:14:51.361Z","repository":{"id":32920333,"uuid":"132733058","full_name":"gluonhq/scenebuilder","owner":"gluonhq","description":"Scene Builder is a visual, drag 'n' drop, layout tool for designing JavaFX application user interfaces.","archived":false,"fork":false,"pushed_at":"2025-04-07T04:53:13.000Z","size":11416,"stargazers_count":771,"open_issues_count":219,"forks_count":221,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-05-12T14:11:19.466Z","etag":null,"topics":["css","fxml","java","javafx"],"latest_commit_sha":null,"homepage":"https://gluonhq.com/products/scene-builder/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gluonhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-05-09T09:22:59.000Z","updated_at":"2025-05-01T22:17:35.000Z","dependencies_parsed_at":"2023-01-14T22:45:30.882Z","dependency_job_id":"a188df01-5792-4f9e-a0dc-02b3e778fd2e","html_url":"https://github.com/gluonhq/scenebuilder","commit_stats":{"total_commits":746,"total_committers":41,"mean_commits":"18.195121951219512","dds":0.7359249329758712,"last_synced_commit":"39688b6a756e85607eb99f6ff3e904c6f407aeb8"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Fscenebuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Fscenebuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Fscenebuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Fscenebuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gluonhq","download_url":"https://codeload.github.com/gluonhq/scenebuilder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254120179,"owners_count":22017953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","fxml","java","javafx"],"created_at":"2024-08-04T00:00:48.584Z","updated_at":"2025-05-14T10:14:51.337Z","avatar_url":"https://github.com/gluonhq.png","language":"Java","readme":"[![Gluon](.github/assets/gluon_logo.svg)](https://gluonhq.com)\n\n# Gluon Scene Builder #\n\n[![Build](https://github.com/gluonhq/scenebuilder/actions/workflows/early-access.yml/badge.svg)](https://github.com/gluonhq/scenebuilder/actions/workflows/early-access.yml)\n[![License](https://img.shields.io/badge/license-BSD-green)](./LICENSE)\n\n#### Scene Builder Kit ####\n\n[![Maven Central](https://img.shields.io/maven-central/v/com.gluonhq.scenebuilder/kit)](https://search.maven.org/#search|ga|1|com.gluonhq.scenebuilder)\n[![javadoc](https://javadoc.io/badge2/com.gluonhq.scenebuilder/kit/javadoc.svg?color=blue)](https://javadoc.io/doc/com.gluonhq.scenebuilder/kit)\n\nGluon [Scene Builder](http://gluonhq.com/products/scene-builder/) is a drag and drop UI designer tool allowing rapid desktop and mobile app development.\nScene Builder separates design from logic, allowing team members to quickly and easily focus on their specific aspect of application development.\n\nScene Builder works with the JavaFX ecosystem – official controls, community projects, and Gluon offerings including\n[Gluon Mobile](http://gluonhq.com/products/mobile),\n[Gluon Desktop](http://gluonhq.com/products/desktop), and\n[Gluon CloudLink](http://gluonhq.com/products/cloudlink).\n\nScene Builder is open source, and it is freely licensed under the BSD license.\n[Gluon](http://gluonhq.com) can provide [custom consultancy](http://gluonhq.com/services/consulting/), [training](http://gluonhq.com/services/training/), and open source [commercial support](http://gluonhq.com/services/commercial-support/).\n\n## Getting started ##\n\nThe best way to get started with Gluon Scene Builder is by downloading and installing on your developer machine the latest \n[Scene Builder release](http://gluonhq.com/products/scene-builder/#download).\n\nSee the [documentation](http://docs.gluonhq.com/scenebuilder/) about the new features recently included.\n\nFor community support, go to [StackOverflow](https://stackoverflow.com/questions/tagged/scenebuilder).\n\n### Requirements on Linux ###\n\nOn Linux systems, Scene Builder uses the `xdg-open` command to reveal files in the system's default file system browser or to open URLs in the default web browser. Most modern Linux Desktop Environments already provide the [xdg-utils](https://freedesktop.org/wiki/Software/xdg-utils/) package. If it is missing, it can be installed using the respective Linux package management tool such as `yum`, `apt-get`, `dnf` or `pacman`. The `xdg-utils` package is usually available on KDE based systems, some Arch based systems may require manual installations.\n\n## Issues and Contributions ##\n\nIssues can be reported to the [Issue tracker](https://github.com/gluonhq/scenebuilder/issues/)\n\nContributions can be submitted via [Pull requests](https://github.com/gluonhq/scenebuilder/pulls/), \nproviding you have signed the [Gluon Individual Contributor License Agreement (CLA)](https://cla.gluonhq.com). Please check the [contribution guide](CONTRIBUTING.md) for more details.\n\n## Building Scene Builder ##\n\n### Requisites ###\n\nGluon Scene Builder is frequently released, and this is only required in case you want to fork and build your local version of Scene Builder.\n\nThese are the requisites:\n\n* A recent version of [JDK 21 or later](https://www.oracle.com/technetwork/java/javase/downloads/index.html) for building 'master' branch\n* A recent version of [JDK 8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) for building '8u-dev' branch\n\n### How to build Scene Builder ###\n\nScene Builder uses Maven Wrapper to build and run the project. Run `./mvnw` on Linux or macOS and `mvnw` on Windows.\n\nTo build the Scene Builder services, on the project's root, run:\n\n`mvn clean package`\n\nAlternatively, utilizing the Maven Wrapper, one can run:\n\n`./mvnw clean package`\n\nIt will create a partial shadow cross-platform jar under `app/target/lib/scenebuilder-$version-all.jar`, that doesn't include the JavaFX dependencies.\n\n### How to run Scene Builder ###\n\nBefore starting the app, all dependencies must be installed locally.\nThis is achieved by:\n\n`./mvnw install`\n\nThen Scene Builder can be started with Maven:\n\n`./mvnw javafx:run -f app`\n\nAlternatively, you can run the partial shadow jar in the classpath, providing you have downloaded the JavaFX SDK from [here](https://gluonhq.com/products/javafx/):\n\n```\njava \\ \n--module-path /path/to/javafx-sdk-$javafxVersion/lib \\\n--add-modules javafx.web,javafx.fxml,javafx.swing,javafx.media \\\n--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED \\\n-cp app/target/lib/scenebuilder-$version-all.jar \\\ncom.oracle.javafx.scenebuilder.app.SceneBuilderApp\n```\n\n## Scene Builder components ##\n\nThe Scene Builder project has three main components defined by three modules (that is, three Java modules defined in three Maven modules subprojects):\n\n- Scene Builder App\n- Scene Builder Kit\n- Gluon plugin\n\n### Scene Builder App ###\n\nContains the JavaFX main application that embeds the Scene Builder Kit, and includes menus, preferences and dialogs to interact with it.\n\n### Scene Builder Kit ###\n\nScene Builder Kit is the core of the project and defines three main areas: \n\n- Left: Library of custom and built-in controls, Hierarchy and Controller of the FXML layout being edited\n- Center: Workspace area for displaying the content of the FXML layout that is being designed\n- Right: Inspector with properties, layout and event handlers of the components of the FXML layout.\n\nScene Builder Kit contains an API that allows these components and their functionality to be integrated in other applications or IDEs. Scene Builder App is the best example of such integration. Another basic example can be found here: [EmbeddedSceneBuilderDemo](https://github.com/gluonhq/EmbeddedSceneBuilderDemo). You can also use the controls available in Scene Builder Kit in your project.\n\nScene Builder Kit is published to Maven Central, and you can add it as a regular dependency to the build of your app:\n\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.gluonhq.scenebuilder\u003c/groupId\u003e\n  \u003cartifactId\u003ekit\u003c/artifactId\u003e\n  \u003cversion\u003e$version\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nIf you want to build and install the Scene Builder Kit in your local repository, run:\n\n`./mvnw clean install -f kit`\n\n### Gluon plugin ###\n\nThe Gluon section in the Library allows adding [Gluon Mobile](http://gluonhq.com/products/mobile) controls to the FXML layout, and setting the stylesheets from the Gluon themes and swatch colors.\n\nAn easy way to get started is by selecting the Mobile Basic Screen from the available templates in the welcome dialog.\n\n## Code Style\n\nTo ensure that new code formatting matches the requirements for Pull Requests,\nthe Maven Checkstyle plugin can be used to create a report listing possibly coding \nstyle violations.\n\nContributors 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.\n\nTo run the plugin:\n\n```\n./mvnw checkstyle:checkstyle\n```\n\nThere will be a report for each sub-project:\n\n* Kit: `kit/target/reports/checkstyle.html`\n* App: `app/target/reports/checkstyle.html`\n* Gluon-plugin: `gluon-plugin/target/reports/checkstyle.html`\n\nThis project makes use of [EditorConfig](https://editorconfig.org/) which is [directly supported](https://editorconfig.org/#pre-installed) by IntelliJ IDEA. There are plugins for NetBeans, Eclipse and Visual Studio and [more](https://editorconfig.org/#download). EditorConfig ensures via configuration in `.editorconfig` file, that the proper indentation is used.\n","funding_links":[],"categories":["Community"],"sub_categories":["Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgluonhq%2Fscenebuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgluonhq%2Fscenebuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgluonhq%2Fscenebuilder/lists"}