VBox / HBoxVertical / horizontal stacking with configurable spacing
GridPaneRows & columns — use add(node, col, row)
BorderPaneTop / bottom / left / right / center regions
StackPaneLayers children on top of each other, centered
ToggleGroup makes RadioButtons mutually exclusiveMouseEvent gives click coordinates, button pressed, etc.Circle, Rectangle, Line) are Nodes — can be added to any layout paneA binding keeps two properties automatically in sync — no manual event-handler wiring needed. A listener instead runs custom code whenever a property changes.
A list that notifies any bound UI control automatically when its contents change — the foundation of data-driven JavaFX apps like a "cover viewer" gallery.
Override setCellFactory() to control how each row looks (e.g. show an image + text instead of plain text).
Same pattern as FileChooser, but lets the user pick a folder instead of a file.
| Method | Purpose |
|---|---|
bind(otherProperty) | keeps this property in sync with another |
unbind() | stops the automatic sync |
addListener(change -> ...) | runs code whenever the value changes |
get()/set(v) | read/write the property's current value |
| Method | Purpose |
|---|---|
FXCollections.observableArrayList() | creates an observable list |
setCellFactory(factory) | customizes how each row renders |
getSelectionModel().getSelectedItem() | currently selected row's value |