저는 장면 작성기를 사용하여 JavaFX를 기반으로 GUI로 Java에서 게임 예측 시스템을 만들려고합니다. 여기에는 참여하는 운동 선수가 들어있는 ArrayList가있는 게임 개체가 포함 된 HashMap이 들어 있습니다. 둘 다 런타임에 사용자가 결정합니다. 특정 유형의 운동 선수 만 게임의 특정 유형에 참여할 자격이 있습니다. 예를 들어, 수영가는 수영 게임에만 참여할 수 있습니다. 자격을 갖춘 운동 선수를 게임 개체 및 운동 선수 개체와 일치 시켜서받을 수 있지만 런타임에 자격을 갖춘 운동 선수의 확인란을 어떻게 만듭니 까? (JavaFX에서 동적으로 확인란을 추가했습니다.
2
A
답변
0
다음 접근 방식을 사용하면 런타임에 확인란을 추가 또는 제거 할 수 있습니다.
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
나는 주어진 문제에 대한 한 가지 가능한 해결 방법은 여러 정적 개체를 추가 할 것이다. 동적 장면 Builder에서 객체를 생성하고 불가능하지는 않지만 것 매우 어려운 자신의 ID의 기준으로 컨트롤러를 연결, 생각하고 자신의 가시성을 설정 선수가 어떻게 만들어지고 Game 객체의 ArrayList에 추가되는지에 따라 주어진 확인란에 대한 가시성이 변경되었습니다.
loopto를 사용하여 장면을 수정하면 'ListView', 'TableView'또는 이와 비슷한 것 ... – fabian