使用javafx

时间:2016-02-26 17:32:13

标签: java javafx javafx-2

我想在按下单选按钮时关闭滑块,并在按下另一个按钮时将它们打开:

enter image description here

无论如何,当我点击关闭时,我希望无法选择标签,滑块和文本字段。当你点击Toggle on时,你可以再次选择滑块等。

我知道我需要使用ToggleGroup,但不确定如何切换滑块。

1 个答案:

答案 0 :(得分:2)

我可能会为这个UI使用单个CheckBox而不是多个单选按钮,然后您可以将滑块窗格的disable属性绑定到CheckBox的selected属性,但我只是在这里为UI提供答案你已经展示了。

on off

import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class ToggleSetup extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        RadioButton on = new RadioButton("on");
        RadioButton off = new RadioButton("off");
        ToggleGroup toggleState = new ToggleGroup();
        on.setToggleGroup(toggleState);
        off.setToggleGroup(toggleState);
        toggleState.selectToggle(on);

        VBox sliderPane = new VBox(
                10,
                new Slider(),
                new Slider(),
                new Slider()
        );

        sliderPane.disableProperty().bind(
                Bindings.equal(off, toggleState.selectedToggleProperty())
        );

        VBox layout = new VBox(10, on, off, sliderPane);
        layout.setPadding(new Insets(10));
        stage.setScene(new Scene(layout));
        stage.show();
    }

    public static void main(String[] args) { launch(args); }
}