广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州如何处理JavaFX单选按钮事件?_北大青鸟IT学校

作者:邓华发布时间:2021-05-17分类:Java技术浏览:769


导读:如何处理JavaFX单选按钮事件?学过Java的同学都遇到过这个问题,那么答案是什么呢?接下来一起来看看惠州北大青鸟老师是怎么回答的。

如何处理JavaFX单选按钮事件?学过Java的同学都遇到过这个问题,那么答案是什么呢?接下来一起来看看惠州北大青鸟老师是怎么回答的。

我们通过ToggleGroup处理单选按钮选择的事件。更改侦听器添加到ToggleGroup。

为每个单选按钮分配了用户数据。

ChangeListener对象检查组中的选定项目。所选单选按钮从getSelectedToggle方法返回。然后我们通过调用getUserData方法获取用户数据。

rb1.setUserData("Home")
rb2.setUserData("Calendar");
rb3.setUserData("Contacts");final ToggleGroup group = new ToggleGroup();

group.selectedToggleProperty().addListener(
   (ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) -> {        if (group.getSelectedToggle() != null) {
           System.out.println(group.getSelectedToggle().getUserData().toString());
       }    
   }
});

完整的源代码。

import javafx.application.Application;import javafx.beans.value.ChangeListener;import javafx.beans.value.ObservableValue;import javafx.geometry.Insets;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.scene.layout.VBox;import javafx.stage.Stage;public class Main extends Application {  public static void main(String[] args) {
   launch(args);
 }

 @Override  public void start(Stage stage) {
   Scene scene = new Scene(new Group());
   stage.setWidth(250);
   stage.setHeight(150);    final ToggleGroup group = new ToggleGroup();

   RadioButton rb1 = new RadioButton("A");
   rb1.setToggleGroup(group);
   rb1.setUserData("A");

   RadioButton rb2 = new RadioButton("B");
   rb2.setToggleGroup(group);
   rb2.setUserData("B");

   RadioButton rb3 = new RadioButton("C");
   rb3.setToggleGroup(group);
   rb3.setUserData("C");

   group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {      public void changed(ObservableValue<? extends Toggle> ov,
         Toggle old_toggle, Toggle new_toggle) {        if (group.getSelectedToggle() != null) {
         System.out.println(group.getSelectedToggle().getUserData().toString());
       }
     }
   });

   HBox hbox = new HBox();
   VBox vbox = new VBox();

   vbox.getChildren().add(rb1);
   vbox.getChildren().add(rb2);
   vbox.getChildren().add(rb3);
   vbox.setSpacing(10);

   hbox.getChildren().add(vbox);
   hbox.setSpacing(50);
   hbox.setPadding(new Insets(20, 10, 10, 20));

   ((Group) scene.getRoot()).getChildren().add(hbox);
   stage.setScene(scene);
   stage.show();
 }
}

上面的代码生成以下结果。

JavaFX单选按钮2.png

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表