Get Toggle RadioButton user value

javafx

Solution

To get value of radio button type cast listener object to radio button.

try this..

final ToggleGroup group = new ToggleGroup();
    RadioButton today = new RadioButton("Today");
    today.setToggleGroup(group);
    today.setSelected(true);
    RadioButton yesterday = new RadioButton("Yesterday");
    yesterday.setToggleGroup(group);
    RadioButton duration = new RadioButton("duration");
    duration.setToggleGroup(group);

    group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
        @Override
        public void changed(ObservableValue<? extends Toggle> ov, Toggle t, Toggle t1) {

            RadioButton chk = (RadioButton)t1.getToggleGroup().getSelectedToggle(); // Cast object to radio button
            System.out.println("Selected Radio Button - "+chk.getText());

        }
    });

Problem

In my javafx project code is like that.How to get radioButton String value i need outbut is like that. I will click today, output is print `Today` as so an - Today - Yesterday - Duration How to this output from `group.selectedToggleProperty().addListener(new ChangeListener<Toggle>()` ``` import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.RadioButton; import javafx.scene.control.Toggle; import javafx.scene.control.ToggleGroup; import javafx.scene.layout.HBox; import javafx.stage.Stage; /** * * @author reegan */ public class GetSelectedToggleButton extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) { Scene scene = new Scene(new Group()); stage.setTitle("Toggle Button Sample"); stage.setWidth(250); stage.setHeight(180); final ToggleGroup group = new ToggleGroup(); RadioButton today = new RadioButton("Today"); today.setToggleGroup(group); today.setSelected(true); RadioButton yesterday = new RadioButton("Yesterday"); yesterday.setToggleGroup(group); RadioButton duration = new RadioButton("duration"); duration.setToggleGroup(group); group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() { @Override public void changed(ObservableValue<? extends Toggle> ov, Toggle t, Toggle t1) { System.out.println(t1); System.out.println(group.selectedToggleProperty().toString()); } }); HBox hbox = new HBox(); hbox.getChildren().add(today); hbox.getChildren().add(yesterday); hbox.getChildren().add(duration); ((Group) scene.getRoot()).getChildren().add(hbox); stage.setScene(scene); stage.show(); } } ```

Original source