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
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 extends Toggle> 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);
}
}