private void initialize()

in kit/src/main/java/com/oracle/javafx/scenebuilder/kit/util/control/paintpicker/gradientpicker/GradientPicker.java [230:318]


    private void initialize() {

        final FXMLLoader loader = new FXMLLoader();
        loader.setLocation(GradientPicker.class.getResource("GradientPicker.fxml")); //NOI18N
        loader.setController(this);
        loader.setRoot(this);
        try {
            loader.load();
        } catch (IOException ex) {
            Logger.getLogger(GradientPicker.class.getName()).log(Level.SEVERE, null, ex);
        }

        assert proportional_checkbox != null;
        assert cycleMethod_choicebox != null;
        assert startX_slider != null;
        assert endX_slider != null;
        assert startY_slider != null;
        assert endY_slider != null;
        assert centerX_slider != null;
        assert centerY_slider != null;
        assert radial_container != null;

        // Add two default stops
        final GradientPickerStop black = addStop(0.0, 1.0, 0.0, Color.BLACK);
        addStop(0.0, 1.0, 1.0, Color.WHITE);
        // Select first default stop
        setSelectedStop(black);
        proportional_checkbox.setSelected(true);
        proportional_checkbox.selectedProperty().addListener((ChangeListener<Boolean>) (ov, oldValue, newValue) -> {
            final Mode mode = paintPicker.getMode();
            final Paint value = getValue(mode);
            // Update UI
            preview_rect.setFill(value);
            // Update model
            paintPicker.setPaintProperty(value);
        });
        proportional_checkbox.setOnAction((ActionEvent event) -> {
            event.consume();
        });

        cycleMethod_choicebox.setItems(FXCollections.observableArrayList(CycleMethod.values()));
        cycleMethod_choicebox.getSelectionModel().selectFirst();
        cycleMethod_choicebox.getSelectionModel().selectedItemProperty().addListener((ChangeListener<CycleMethod>) (ov, oldValue, newValue) -> {
            final Mode mode = paintPicker.getMode();
            final Paint value = getValue(mode);
            // Update UI
            preview_rect.setFill(value);
            // Update model
            paintPicker.setPaintProperty(value);
        });
        cycleMethod_choicebox.addEventHandler(ActionEvent.ACTION, (Event event) -> {
            event.consume();
        });

        final ChangeListener<Number> onValueChange = (ov, oldValue, newValue) -> {
            final Mode mode = paintPicker.getMode();
            final Paint value = getValue(mode);
            // Update UI
            preview_rect.setFill(value);
            // Update model
            paintPicker.setPaintProperty(value);
        };
        startX_slider.valueProperty().addListener(onValueChange);
        startY_slider.valueProperty().addListener(onValueChange);
        endX_slider.valueProperty().addListener(onValueChange);
        endY_slider.valueProperty().addListener(onValueChange);

        centerX_slider.valueProperty().addListener(onValueChange);
        centerY_slider.valueProperty().addListener(onValueChange);
        focusAngleRotator.rotationProperty().addListener(onValueChange);
        focusDistanceSlider.getSlider().valueProperty().addListener(onValueChange);
        radiusSlider.getSlider().valueProperty().addListener(onValueChange);

        radial_container.getChildren().addAll(radiusSlider, focusDistanceSlider, focusAngleRotator);
        radial_container.setVisible(false);
        radial_container.setManaged(false);

        final ChangeListener<Boolean> liveUpdateListener = (ov, oldValue, newValue) -> paintPicker.setLiveUpdate(newValue);
        startX_slider.pressedProperty().addListener(liveUpdateListener);
        startY_slider.pressedProperty().addListener(liveUpdateListener);
        endX_slider.pressedProperty().addListener(liveUpdateListener);
        endY_slider.pressedProperty().addListener(liveUpdateListener);
        centerX_slider.pressedProperty().addListener(liveUpdateListener);
        centerY_slider.pressedProperty().addListener(liveUpdateListener);
        radiusSlider.pressedProperty().addListener(liveUpdateListener);
        focusDistanceSlider.pressedProperty().addListener(liveUpdateListener);
        focusAngleRotator.pressedProperty().addListener(liveUpdateListener);
        slider_container.pressedProperty().addListener(liveUpdateListener);
    }