Styling a JavaFX Scrollbar

#General

#JavaFX

Styling a scrollbar in JavaFX isn’t that easy since it it composed of several internal nodes. Thanks to CSS all the internal nodes can be styled by using the defined style classes of the nodes.

When adding a scrollbar to a scene it will contain the following internal / private nodes:

  • A StackPane that defines the background of the track area that can be styled by using the track-background style class
  • A Button that defines the increment button of the scrollbar. The button can be styled by using the increment-button style class
  • The increment arrow is a subnode of the button and it’s defined as Region. It can be styled by using the increment-arrow style class
  • A Button that defines the decrement button of the scrollbar. The button can be styled by using the decrement-button style class
  • The decrement arrow is a subnode of the button and it’s defined as Region. It can be styled by using the decrement-arrow style class
  • A StackPane that defines the track area of the scrollbar. It that can be styled by using the track style class
  • A StackPane that defines the thumb of the scrollbar. It that can be styled by using the thumb style class

In addition the scrollbar supports 2 pseudo classes that can be used to define specific styles for a vertical and horizontal scrollbar. This pseudo classes are named “vertical” and “horizontal”.

If you want to use a scrollpane there is this empty little area in the bottom right corner. You can style that area by using the corner style class.

scroll

Hendrik Ebbers

Hendrik Ebbers is the founder of Open Elements. He is a Java champion, a member of JSR expert groups and a JavaOne rockstar. Hendrik is a member of the Eclipse JakartaEE working group (WG) and the Eclipse Adoptium WG. In addition, Hendrik Ebbers is a member of the Board of Directors of the Eclipse Foundation.

Circle Circle
logo

Open Source made right

Privacy

Privacy Policy Cookie Policy Privacy Config Impressum