Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>JavaFX Builder Class GeneratorNew to Visual Studio Code? Get it now.
JavaFX Builder Class Generator

JavaFX Builder Class Generator

sosuisha

|
1,042 installs
| (1) | Free
Builder class generator for JavaFX projects.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

JavaFX Builder Class Generator

This VSCode extension provides a code generator for creating builder classes in JavaFX projects.

You can generate builder classes for various types included in the javafx.scene.* packages, such as Button and VBox, allowing you to create complex instances more compactly.

This is simply a bit of syntactic sugar. If you're eager to write it this way, feel free to do so.

How to Use

1. 🏃‍➡️ Move the cursor over a "new ClassName()" expression.

  • The class must be from the javafx.scene.* packages.
  • The class name must be a canonical name or resolved through an import.
  • If you are using the modular system, ensure that the required modules are specified in the module-info.java file.
  • Hint dots(...) will appear under the ClassName when you can generate a builder class.

2. 🔧 Open the code action and select "Generate Builder Class".

  • You can open the code action by pressing 'Ctrl+.' (or 'Cmd+.' on Mac).
  • A builder class will be generated and will replace the original class at the cursor position.
  • A builder class cannot be generated if the class does not have any "set-" methods.

3. 🎁 A builder class is created under the jfxbuilder directory.

  • The builder class is named by appending the postfix "-Builder" to the original class name.

4. ⚙️ The builder class includes the same setter methods as the original class, but the "set-" prefix is omitted.

  • In the example below, the builder class for the Button class is ButtonBuilder, which includes a maxSize method instead of the setMaxSize method.

  • The return type of the maxSize method is ButtonBuilder.

  • To create an instance of the original class, call build() at the end of the method chain.

Example

children method

A builder class for a class that has a getChildren method includes a children method.

Usage follows the example provided above.

public VBoxBuilder children(Node... elements) { in.getChildren().setAll(elements); return this; }

apply method

All builder classes have an apply method. You can pass a lambda that takes an instance of the original class as an argument to this method.

Usage follows the example provided above.

public LabelBuilder apply(java.util.function.Consumer<Label> func) {
        func.accept((Label) in);
        return this;
    }

In fact, everything can be accomplished with apply. The other methods in the builder class simply provide syntactic sugar for the original class's set- methods and the getChildren method.

styleClass method

Shortcut for getStyleClass().add(String styleClassName).

var completedCheckBox = CheckBoxBuilder.create()
            .styleClass("todo-completed")
            .build();

Miscellaneous

Requirements

  • This extension has been confirmed to be compatible with JavaFX 21.
  • The Java files must be located somewhere under the src directory, e.g., src/main/java/com/example/FooController.java
  • Install the "Language Support for Java(TM) by Red Hat" extension to enable the builder class generator.
  • A class that extends javafx.application.Application is needed.

Issues

  • This plugin will not function unless the "Language Support for Java™ by Red Hat" extension is activated. If you encounter any issues, first ensure that this extension has been successfully activated.

  • If you experience any problems with the JavaFX Builder Class Generator, please create an issue in the GitHub repository. https://github.com/sosuisen/javafx-builder-class-generator/issues

Release Notes

1.3.5

  • Add styleClass method.

1.2.0

  • Added hint dots(...) under the ClassName when a builder class can be generated.
  • Removed code lens; use code action instead.

1.1.0

  • Added apply method to the builder class.
  • Use create method to create a builder instance instead of using a constructor.
  • Added children method if the original class has a getChildren method.
  • The create method has parameters if the original constructor has parameters.
  • Added methods to set parameters indicated in the original constructor.

1.0.0

  • Initial release.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft