首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaFX中动态添加复选框

在JavaFX中动态添加复选框
EN

Stack Overflow用户
提问于 2017-09-19 12:01:20
回答 2查看 2K关注 0票数 2

我正在尝试使用场景生成器创建一个基于JavaFX的图形用户界面的Java游戏预测系统。它包含一个包含游戏对象的HashMap,其中有一个包含参赛运动员的ArrayList。这两者都将由用户在运行时决定。只有特定类型的运动员才有资格参加某一类型的比赛,例如,游泳运动员只能参加游泳比赛。我可以通过将合格运动员的类型与游戏对象和运动员对象进行匹配来获取合格运动员,但如何在运行时为合格运动员创建复选框?

EN

回答 2

Stack Overflow用户

发布于 2017-09-19 13:00:19

您可以使用以下方法在运行时添加或删除复选框

代码语言:javascript
复制
package com.grsdev.stackoverflow.question170919.pack02;


import javafx.application.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
/**
 * @author gaurav salvi
 *
 */
public class JavaFxCheckBoxDemo extends Application{

    private static VBox root;

    private static CheckBox box=new CheckBox("Apple");

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {

        root=new VBox();

        Button button=new Button("            toggle         ");

        button.setOnAction(JavaFxCheckBoxDemo::buttonClicked);

        root.getChildren().add(button);
        root.getChildren().add(box);

        Scene value=new Scene(root,200,200);

        stage.setScene(value);

        stage.show();

    }

    private static void buttonClicked(ActionEvent event){

        if(root.getChildren().contains(box)){
            root.getChildren().remove(box);
        }else{
            root.getChildren().add(box);
        }
    }

}
票数 0
EN

Stack Overflow用户

发布于 2017-09-21 10:53:44

我认为,在Scene Builder中动态创建对象,并根据它们的ID在控制器中链接它们将非常困难,如果不是不可能的话。对于给定的问题,一种可能的解决方法是添加几个静态对象,并将其可见性设置为隐藏。作为以及如何在ArrayList对象中创建运动员和将其添加到游戏中,我更改了给定复选框的可见性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46291589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档