0

我正在使用 javafx 开发一个应用程序,它在从 net beans 运行时工作正常,但是当我尝试通过 .jar 文件运行应用程序时,应用程序启动并且我能够使用它的一些功能,但不是全部他们。

当它启动时总是给我这个错误:

在此处输入图像描述

这是部分代码:

@Override
public void start(Stage primaryStage)
{

    bd=new BD();
    bd.iniciarConexao();


    stage= primaryStage;
    stage.setTitle("Gestão de eventos - AAC");

    layerPane = new StackPane();
    initRoot();

    scene = new Scene(layerPane, 1020, 700);
    scene.getStylesheets().addAll(ProjectV2.class.getResource("ProjectV2.css").toExternalForm(),
    ProjectV2.class.getResource("calendarstyle.css").toExternalForm());




    //MainToolBar-----------------------------------------------------------
    nomeAplicacao = new Label("Gestão de eventos - AAC");


    hbNomeAplicacao= new HBox();

    hbEmblemas = new HBox(40);

    emblemas = new ArrayList<>();

    toolBar = new ToolBar();


    logo = new ImageView(new Image(ProjectV2.class.getResourceAsStream("images/gestaoDeEventos2_2.png")));
    //----------------------------------------------------------------------

    spacer1= new Region();
    spacer2= new Region();
    spacer3= new Region();
    spacer4= new Region();


    centerPane= new BorderPane();

    paScrollPane= new ScrollPane();

    paVb= new VBox();
    paVb.setPrefHeight(500);
    hbSubtitulo= new HBox();
    subtitulo= new Label("Funcionalidades");
    //----------------------------------------------------------------------

    //LogToolBar------------------------------------------------------------
    logToolBar= new ToolBar();


    loginButton = new MenuButton();
    loginButton.setId("SettingsButton");   
    loginButton.setPopupSide(Side.TOP);    
    loginButton.setGraphic(new ImageView(new Image(ProjectV2.class.getResourceAsStream("images/business_user2.png"))));

    mLogin = MenuItemBuilder.create().text("Login").build();
    mAddFunc = MenuItemBuilder.create().text("Mudar password").build();
    mLogout = MenuItemBuilder.create().text("Logout").build();
    //mEditUser = MenuItemBuilder.create().text("Editar funcionário").build();
    mFactura= MenuItemBuilder.create().text("Factura").build();

    //----------------------------------------------------------------------


    stage.setScene(scene);

    stage.show();
    toogleMaximized();
}


public void toogleMaximized() 
{

    screen = Screen.getScreensForRectangle(stage.getX(), stage.getY(), 1, 1).get(0);

    if (maximized) 
    {
        maximized = false;
        if (backupWindowBounds != null) {
            stage.setX(backupWindowBounds.getMinX());
            stage.setY(backupWindowBounds.getMinY());
            stage.setWidth(backupWindowBounds.getWidth());
            stage.setHeight(backupWindowBounds.getHeight());
        }
    } 
    else 
    {
        maximized = true;
        backupWindowBounds = new Rectangle2D(stage.getX(), stage.getY(), stage.getWidth(), stage.getHeight());
        stage.setX(screen.getVisualBounds().getMinX());
        stage.setY(screen.getVisualBounds().getMinY());
        stage.setWidth(screen.getVisualBounds().getWidth());
        stage.setHeight(screen.getVisualBounds().getHeight());
    }
}
4

0 回答 0