Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build JavaFX UIs with core observable properties, bindings, and listeners.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -30% | 0% |
| case-01 | ✓→✓ | = Same ✓ | -20% | 0% |
| case-02 | ✓→✓ | = Same ✓ | -10% | 0% |
| case-03 | ✓→✓ | = Same ✓ | -19% | 0% |
| case-04 | ✓→✓ | = Same ✓ | -17% | 0% |
Use this skill when UI state should stay synchronized without manual widget updates scattered throughout the codebase.
javaimport javafx.beans.binding.Bindings; import javafx.beans.property.IntegerProperty; import javafx.beans.property.SimpleIntegerProperty; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.VBox; public class CounterView extends VBox { private final IntegerProperty count = new SimpleIntegerProperty(0); public CounterView() { var label = new Label(); label.textProperty().bind(Bindings.format("Count: %d", count)); var increment = new Button("Increment"); increment.setOnAction(event -> count.set(count.get() + 1)); getChildren().addAll(label, increment); } public IntegerProperty countProperty() { return count; } }
javafx-reactive-binding-state when the requirement moves beyond core properties into eventstreams, reducers, or cross-client state synchronization.
Other measured skills in the registry, with their headline benchmark lift.