【发布时间】:2019-10-30 01:16:04
【问题描述】:
我正在制作石头、剪刀、纸质申请书作为大学作业。我应该使用单选按钮,因为它是一个游戏,它应该允许一次选择一个按钮。
我尝试创建 ToggleGroups 并将其中一个按钮设置为默认选中,但它不起作用!当我运行应用程序时,它仍然允许我选择多个按钮:( 我错过了什么?
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("../view/QuilometrosPorLitroView.fxml"));
primaryStage.setTitle("Pedra, Papel, Tesoura");
primaryStage.setScene(new Scene(root, 428, 336));
primaryStage.setResizable(false);
primaryStage.show();
Controller.selectButtonDefault();
}
public static void main(String[] args) {
launch(args);
}
}
public class Controller {
@FXML
public static
RadioButton tesoura = new RadioButton();
@FXML
public static
RadioButton pedra = new RadioButton();
@FXML
public static
RadioButton papel = new RadioButton();
public static void selectButtonDefault() {
ToggleGroup group = new ToggleGroup();
tesoura.setToggleGroup(group);
tesoura.setSelected(true);
pedra.setToggleGroup(group);
papel.setToggleGroup(group);
}
【问题讨论】:
-
首先你应该知道如何创建控制器类。如果您使用 Scenebuilder,您可以显示 Sample skelection。然后你会看到与@FXML 的不同以及你如何用“新”来创建东西
-
您不能将节点注入
static字段。您可能尝试通过自己初始化字段来解决null的问题,但那些Nodes 不是任何场景的一部分。
标签: java javafx radio-button javafx-8