我正在尝试使用场景生成器创建一个基于JavaFX的图形用户界面的Java游戏预测系统。它包含一个包含游戏对象的HashMap,其中有一个包含参赛运动员的ArrayList。这两者都将由用户在运行时决定。只有特定类型的运动员才有资格参加某一类型的比赛,例如,游泳运动员只能参加游泳比赛。我可以通过将合格运动员的类型与游戏对象和运动员对象进行匹配来获取合格运动员,但如何在运行时为合格运动员创建复选框?
发布于 2017-09-19 13:00:19
您可以使用以下方法在运行时添加或删除复选框
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);
}
}
}发布于 2017-09-21 10:53:44
我认为,在Scene Builder中动态创建对象,并根据它们的ID在控制器中链接它们将非常困难,如果不是不可能的话。对于给定的问题,一种可能的解决方法是添加几个静态对象,并将其可见性设置为隐藏。作为以及如何在ArrayList对象中创建运动员和将其添加到游戏中,我更改了给定复选框的可见性。
https://stackoverflow.com/questions/46291589
复制相似问题