我有一个启动器和一个
JavaFX类.启动器创建一个名为JavaFXApplication1的类. JavaFXApplication包含整个JavaFX代码(在这种情况下只是一个小例子)并且应该设置一个具有一个主要阶段的窗口.
启动器具有静态主入口点 – 但我读到JavaFX并不真正使用此入口点.这解释了我的控制台输出(见帖子的结尾)
我不知道这是否可行(Launcher创建一个JavaFX窗口 – 入口点不在表示类本身).我不想使用预加载器(我认为预加载器仅用于启动期间的重负载),因为启动器将整个程序表示为一个对象(表示,业务和持久性 – 一个3层程序).入口点应该在表示类之外(在此示例中为启动程序类)
以下示例确实有效.但对我来说,它就像一块“黑魔法”
这是我的代码
发射器:
package javafxapplication1;
public class Launcher
{
public static void main(String[] args)
{
System.out.println("main()");
// Do some stuff and then create the UI class
JavaFXApplication1 client = new JavaFXApplication1();
client.caller(args);
}
}
JavaFXApplication1:
package javafxapplication1;
import javafx.application.Application;
import javafx.stage.Stage;
public class JavaFXApplication1 extends Application
{
@Override
public void start(Stage primaryStage)
{
System.out.println("start()");
primaryStage.setTitle("I am a JavaFX app");
primaryStage.show();
}
public void caller(String[] args)
{
System.out.println("caller()");
launch(args);
}
/* We call the main function from the client
public static void main(String[] args)
{
launch(args);
}*/
}
该程序的输出是:
start()
有没有办法创建这样的应用程序?谢谢
最佳答案 这个问题的答案是创建一个java项目而不是JavaFX项目.在此之后,您可以添加JavaFX主类并编写方法(调用launch()).
也许您必须从/ jdk _ * / jre / lib目录添加编译时库deploy.jar,javaws.jar,jfxrt.jar和plugin.jar