【问题标题】:Make JavaFX Application non static使 JavaFX 应用程序非静态
【发布时间】:2017-09-11 18:51:29
【问题描述】:

我知道这可能是个菜鸟问题,很多其他人会觉得它没用,但如果有人可以帮助我,我会很高兴。

在每个教程中,我都看到在 JavaFX 中制作静态应用程序,如下所示:

public class TestingApp extends Application
{

    @Override
    public void start( Stage primaryStage )
    {
        ...
    }

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

但是有没有办法像这样将它定义为非静态的?:

public class TestingApp extends Application
{

    @Override
    public void start( Stage primaryStage )
    {
        ...
    }

    public TestingApp() {}

}

public class Main
{

    public static void main( String[] args )
    {
        TestingApp ta1 = new TestingApp()
        TestingApp ta2 = new TestingApp()

        ta1.launch( args )
        ta2.launch( args )
    }

}

我已经看到了: Starting a second JavaFX Application,但这并没有解决我的问题。

【问题讨论】:

  • 你想通过这个实现什么?
  • 这样做并没有多大意义。您应该将 start() 视为应用程序的入口点 - 换句话说,将其视为 main() 方法的替代品,唯一的区别是它在 FX 工具包和 FX 应用程序启动后调用线程正在运行。也许看看stackoverflow.com/questions/32464698/… 是否有帮助。
  • 请注意,简单地说“它不能解决我的问题”并不能真正帮助您获得任何答案,因为您实际上并没有告诉我们您要解决什么问题。跨度>
  • 好像是X-Y Problem

标签: java javafx


【解决方案1】:

每个 JVM 实例只能运行一个 JavaFX 应用程序和一个 JavaFX 应用程序线程。

但您可以创建多个阶段(窗口),如果那是您正在寻找的。主要阶段由 start 方法提供,但您可以自己创建次要阶段。

【讨论】:

  • 感谢您的快速回复,我会看看这些。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多