如何将参数传递给从另一个类调用的JavaFX类

时间:2019-12-12 09:53:46

标签: java javafx

由于它是用于班级的工作,我不愿意在这里显示大部分代码,但是,如果您需要查看内容,我很乐意将其添加到帖子中。 我的代码的目的是计算一个凸包并显示它。我的第一堂课计算线并将其存储在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);
  }
}

1 个答案:

答案 0 :(得分:1)

仅从JavaFx应用程序中调用计算:

class DrawConvexHull extends Application{

  @Override
  public void start(Stage primaryStage) throws Exception{
    Model model = new Model();
    Line[] lines = model.computeConvexHull();
    VBox box = new VBox();
    final Scene scene = new Scene(box,300, 250);
    for (Line each : lines ) {
      if (each != null) {
        box.getChildren().add(each);
      }
    } 
    primaryStage.setScene(scene);
    primaryStage.show();    
  }  
  public static void main(String[] args) {
    launch(args);
  }
}


class Model{
  Line[] computeConvexHull(){
      //todo 
  }
}