gpt4 book ai didi

java - 如何添加到 javafx 中的现有场景?

转载 作者:行者123 更新时间:2023-12-01 12:56:07 24 4
gpt4 key购买 nike

我想向我的场景添加更多 javafx 对象,但我不知道如何添加。我尝试过查找,但找不到任何内容。

package application;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;


public class Main extends Application {
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("/fxml/Main.fxml"));
Scene scene = new Scene(root,600,400);
// how would i add something here or further on?
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setResizable(false);
primaryStage.setScene(scene);
primaryStage.setTitle("Test");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}

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

例如,我如何向其中添加多边形?

最佳答案

您不会将它们添加到场景中,而是添加到根(场景的父节点)中。您必须将 Parent 更改为您在 FXML 文件中使用的任何类型的节点。 netbeans 中的默认值是 AnchorPane,所以这就是我使用的。

public void start(Stage primaryStage) throws Exception {
try {
AnchorPane root = FXMLLoader.load(getClass().getResource("fxml/Main.fxml"));
Scene scene = new Scene(root, 600, 400);
//how would i add something here or further on?
root.getChildren().add(new Polygon(10,20,30,10,20,30));
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setResizable(false);
primaryStage.setScene(scene);
primaryStage.setTitle("Test");
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
// don't leave me hanging bro!
Platform.exit();
}
}

关于java - 如何添加到 javafx 中的现有场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23878623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com