How to get selected radio button from ToggleGroup

后端 未结 5 874
一生所求
一生所求 2020-12-09 16:24

I an working on JavaFX 8 and SceneBuilder. I created some radio buttons in the FXML File and specified a toggleGroup name to a radio button list in

5条回答
  •  情深已故
    2020-12-09 16:29

    public class MyControler {
        @FXML
        private ToggleGroup myToggleGroup;
    
        @FXML
        public void initialize(){
            //the simplest way to print current value (text of the selected radio button)
            System.out.format("Selected Radio Button: " + ((RadioButton)myToggleGroup.getSelectedToggle()).getText());
    
            //register on change event
            myToggleGroup.selectedToggleProperty().addListener(new ChangeListener()
            {
                @Override
                public void changed(ObservableValue observable, Toggle oldToggle, Toggle newToggle)
                {
                    //print new selected value after change
                    System.out.println("Selected Radio Button: " + ((RadioButton)newToggle).getText());
                }
            });
        }
    
        //sample method to set radio button (unselect all if group don't contain value)
        private void setRadioButtons(ToggleGroup toggleGroup, String value) {
            for (Toggle t : toggleGroup.getToggles()) 
                t.setSelected(((RadioButton) t).getText().equals(value));
        }
    
        //sample method to set radio button (select existing value or do nothing)
        private void setRadioButton(ToggleGroup toggleGroup, String value) {
            for (Toggle t : toggleGroup.getToggles()) 
                if(((RadioButton) t).getText().equals(value)) 
                    t.setSelected(true);
        }
    }
    

提交回复
热议问题