Class ListCellSkinBuilder<T>

java.lang.Object
io.github.sosuisen.jfxbuilder.controls.ListCellSkinBuilder<T>

public class ListCellSkinBuilder<T> extends Object
The ListCellSkinBuilder class constructs instances of the ListCellSkin 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 ListCellSkin constructor and returns an instance of the ListCellSkinBuilder.

You can use method chaining to call the builder methods for configuring the ListCellSkin. Finally, invoke the build method to generate an instance of the ListCellSkin 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 <T> ListCellSkinBuilder<T> create(ListCell<T> control)
      Accepts the constructor arguments of ListCellSkin(ListCell) and returns an instance of ListCellSkinBuilder<T>.
      Returns:
      an instance of the ListCellSkinBuilder<T>.
    • build

      public ListCellSkin<T> build()
      Builds and returns an instance of the ListCellSkin 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 ListCellSkin class
    • apply

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

      public final ListCellSkinBuilder<T> addChildren(Node... elements)
      Calls the addAll method on the ObservableList returned by the ListCellSkin#getChildren() method.
      Returns:
      builder instance
    • addChildren

      public final ListCellSkinBuilder<T> addChildren(Collection<? extends Node> col)
      Calls the addAll method on the ObservableList returned by the ListCellSkin#getChildren() method.
      Returns:
      builder instance
    • cellSizePropertyApply

      public ListCellSkinBuilder<T> cellSizePropertyApply(Consumer<ReadOnlyDoubleProperty> op)
      Applies a function to the cellSizeProperty of the instance being constructed. This serves as a shorthand form of the apply method.

      Example:

      // Use apply
      .apply(obj -> obj.cellSizeProperty().bind(anotherProperty))
      
      // Use shorthand form
      .cellSizePropertyApply(prop -> prop.bind(anotherProperty))
      
      Returns:
      builder instance