是否可以创建JavaFX应用程序对象?
可以从javaFX生成应用程序对象吗是否可以创建JavaFX应用程序对象?,java,javafx,Java,Javafx,可以从javaFX生成应用程序对象吗 public class Constructor { public Constructor() { Application a = new Application() { @Override public void start(Stage window) throws Exception { } }
public class Constructor
{
public Constructor()
{
Application a = new Application()
{
@Override
public void start(Stage window) throws Exception
{
}
};
a.launch();
}
}
当前,当我尝试运行它时,它会提供以下信息:
线程“main”java.lang.RuntimeException中的异常:错误:类net.white秋.lightcast.Constructor不是javafx.application.application的子类
我猜想,这是由类构造函数
未扩展应用程序
引起的。
有没有办法解决这个问题,或者说这是启动JavaFX应用程序的唯一方法
编辑:
我知道如何启动javaFX应用程序。我想制作一个应用程序并将其放在一个对象中。这是否可能?应用程序.launch()
是一种静态方法,因此a.launch()
相当于应用程序.launch()
。这意味着它将尝试启动调用它的类的应用程序,即Constructor
class
正确的方法是:
private static class MyApp extends Application
{
@Override
public void start(Stage window) throws Exception
{
}
};
Application.launch(MyApp.class, null);
您应该将应用程序扩展到初始化JavaFXToolkit;并重写start方法以显示表单(javafxstage)。显然,您需要主静态方法来运行应用程序
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.scene.shape.CircleBuilder;
import javafx.stage.Stage;
public class Constrcutor extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX Abacus");
Pane root = new Pane();
Circle circle = CircleBuilder.create()
.radius(20)
.centerX(20)
.centerY(20)
.build();
root.getChildren().add(circle);
primaryStage.setScene(new Scene(root, 400, 400));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
看这里