运行javafx应用程序时没有出现窗口

Wal*_*man 2 java eclipse macos javafx java-11

使用 VM 参数运行 JavaFX 应用程序。程序编译并运行。在 MacOS 上使用 Eclipse。当程序运行时,它会在 Dock 中显示 java 咖啡杯徽标,但没有出现窗口。

我希望能够成功运行这个程序。我相信这是一个 Eclipse 配置问题而不是代码。

让 JavaFX 在 Eclipse for Mac 上运行时遇到了很多问题,主要问题是库不存在且无法导入。我能够通过从这里下载 JavaFX ( https://gluonhq.com/products/javafx/ ),在我的项目中创建一个用户定义的库并使用 VM 参数运行程序来使其工作:--module-path /Library/Java/JavaVirtualMachines/javafx-sdk-11.0.2/lib --add-modules=javafx.controls。现在程序可以编译,但我遇到了上述问题。

这篇文章描述了我遇到的问题:https : //discussions.apple.com/thread/7886329

import javafx.application.*;
import javafx.scene.*;
import javafx.stage.*;
import javafx.scene.layout.*;
import javafx.scene.control.*;

public class SimpleCalculator extends Application
{

    private Label firstValue;
    private Label secondValue;
    private Label sumLabel;

    public void start( Stage myStage) 
    {
        myStage.setTitle( "Simple Calculator");
        FlowPane rootNode = new FlowPane();        
        Scene myScene = new Scene( rootNode, 300, 200 );           

        Label firstValue = new Label( "First Value: ");            
        Label secondValue = new Label( "Second Value: ");          
        Label sumLabel = new Label( "Sum is: ");                   

        TextField firstField = new TextField();                    
        TextField secondField = new TextField();                   
        TextField sumField = new TextField();                      

        sumField.setEditable(false);                               

        rootNode.getChildren().addAll( firstValue, firstField, secondValue, secondField, sumLabel, sumField);
        myStage.setScene( myScene );                                                                                        
        myStage.show();                                                                                          
    }

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

}
Run Code Online (Sandbox Code Playgroud)

窗口弹出并显示标签和字段。我当前的代码不会发生这种情况。

Swi*_*att 11

我遇到了这个问题,与我看到的其他 3 个帖子相关的人也遇到了这个问题。

我在 eclipse 的运行配置中禁用了这个选项:使用 SWT 启动时使用 -XstartOnFirstThread 参数

然后它完美地工作