Class ButtonSkinBuilder

java.lang.Object
io.github.sosuisen.jfxbuilder.controls.ButtonSkinBuilder

public class ButtonSkinBuilder extends Object
The ButtonSkinBuilder class constructs instances of the ButtonSkin class and offers a fluent interface for creating and configuring it.

This class includes a static create method that accepts the same arguments as the original ButtonSkin constructor and returns an instance of the ButtonSkinBuilder.

You can use method chaining to call the builder methods for configuring the ButtonSkin. Finally, invoke the build method to generate an instance of the ButtonSkin class.

Note that intermediate builder methods are not evaluated until the build method is called, meaning they are evaluated lazily.

Author:
Hidekazu Kubota <hidekazu.kubota@gmail.com>
  • Method Details

    • create

      public static ButtonSkinBuilder create(Button control)
      Accepts the constructor arguments of ButtonSkin(Button) and returns an instance of ButtonSkinBuilder.
      Returns:
      an instance of the ButtonSkinBuilder.
    • build

      public ButtonSkin build()
      Builds and returns an instance of the ButtonSkin class.

      Intermediate builder methods are not evaluated until the build method is called; in other words, they are evaluated lazily.

      Returns:
      new instance of the ButtonSkin class
    • apply

      public ButtonSkinBuilder apply(Consumer<ButtonSkin> func)
      Applies a function to the ButtonSkin instance being constructed. Most operations on the instance can be performed using this method.
      Returns:
      builder instance
    • addChildren

      public final ButtonSkinBuilder addChildren(Node... elements)
      Calls the addAll method on the ObservableList returned by the ButtonSkin#getChildren() method.
      Returns:
      builder instance
    • addChildren

      public final ButtonSkinBuilder addChildren(Collection<? extends Node> col)
      Calls the addAll method on the ObservableList returned by the ButtonSkin#getChildren() method.
      Returns:
      builder instance