【发布时间】:2019-12-12 09:53:46
【问题描述】:
我不愿意在这里展示我的大部分代码,因为它是用于课堂作业的,但是如果您需要查看某些内容,那么我很乐意将其添加到帖子中。
我的代码的目的是计算一个凸包并显示它。我的第一堂课计算线条并将它们存储在 Line[] 中。然后我通过在 main() 中写入 Application.launch(DrawConvexHull.class, args); 来调用 javaFX 类。但是我需要将 Line[] 线传递到 DrawConvexHull 类 start()。然而,当我通过向它添加参数来执行此操作时,它会引发一个错误,我没有覆盖 start()。这是我的 DrawConvex
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.scene.shape.Line;
class DrawConvexHull extends Application{
@Override
public void start(Stage primaryStage) throws Exception{
VBox box = new VBox();
final Scene scene = new Scene(box,300, 250);
scene.setFill(null);
for (Line each : lines ) {
if (each != null) {
box.getChildren().add(each);
}
}
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
【问题讨论】:
-
出于所有意图和目的,
#start(stage)方法是 JavaFX 应用程序的入口点。只需在该方法中创建行。 -
@Slaw 但是我会在说明中指定我必须在一个名为 computeConvexHull 的方法中计算它们
-
您目前从
#main(String[])打来的电话,对吗?只需将Application#launch(Class,String...)之前的所有内容移动到#start(Stage)方法内即可。 -
因为这是一项学校作业,您可以随时询问您的老师我的建议是否可以接受。如果不是,请向您的老师寻求指导。
-
话虽如此,我建议阅读How to Ask 和minimal reproducible example 页面以及How do I ask and answer homework questions? Q&A 然后edit 你的问题,以尝试改进。我们很乐意帮助提出问题,但如果没有必要的信息,提供此类帮助可能是不可能的。