获取切换单选按钮用户值

 2023-02-16    328  

问题描述

在我的javafx项目代码中是这样的.如何获得radiobutton string值,我需要省略,但是是这样的.我将单击今天,输出是打印Today,因为

  • 今天
  • 昨天
  • 持续时间

如何从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();
    }
}

推荐答案

获取广播按钮的值cast lister对象到广播按钮.

尝试这个..

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());

        }
    });

其他推荐答案

如果您的切换组由RadioButtons组成,则可以通过

找到所选广播按钮的值

String supplementation = ((RadioButton)supplememntation_toggle_group.getSelectedToggle()).getText();

以上所述是小编给大家介绍的获取切换单选按钮用户值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33958.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。