0

i'm developping an app in javaFX and recently had the necessity to make it cross-platform. I did some research, found the gluon plugin and I think it is a good way to re-use the code that is already done and don't just through it away and start something new. In my javaFX project it compiles and run without any problem but when I try to compile the same code on the gluon project it returns this error:

    Exception in Application start method
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Location is not set.
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2434)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
    at com.resopark.MainApp.initRootLayout(MainApp.java:40)
    at com.resopark.MainApp.start(MainApp.java:22)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    ... 1 more
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':run'.
> Process 'command 'C:\Program Files\Java\jdk1.8.0_112\bin\java.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

here it is my MainApp:

public class MainApp extends Application {

    private Stage primaryStage;
    private BorderPane rootLayout;

    @Override
    public void start(Stage primaryStage) {
        this.primaryStage = primaryStage;
        this.primaryStage.setTitle("Title");

        initRootLayout();
        showMainLayout();
    }

    public void initRootLayout() {
        try {
            // Load root layout from fxml file.
            FXMLLoader loader = new FXMLLoader();
            loader.setLocation(MainApp.class.getResource("view/RootLayout.fxml"));
            rootLayout = (BorderPane) loader.load();

            // Show the scene containing the root layout.
            Scene scene = new Scene(rootLayout);
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void showMainLayout(){
        try{
            // Load Technic Page.
            FXMLLoader loader = new FXMLLoader();
            loader.setLocation(MainApp.class.getResource("view/MainLayout.fxml"));
            AnchorPane mainLayout = (AnchorPane) loader.load();

            rootLayout.setCenter(mainLayout);

        }catch(IOException e){
            e.printStackTrace();
        }
    }

Line 40 is : rootLayout = (BorderPane) loader.load();

this is the build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b10'
    }
}

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar']) 
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
}

mainClassName = 'com.resopark.MainApp'

jfxmobile {
    android {
        manifest = 'src/android/AndroidManifest.xml'
        androidSdk = 'C:/Users/JSoares/AppData/Local/Android/sdk'
    }
}

I'm using eclipse in windows 10

Can anyone help me? thanks in advance. (sorry for my english)

jsoares
  • 19
  • 3
  • 1
    Current jfxmobile plugin version is 1.3.2, so you need to update the Gluon Plugin for Eclipse (2.4.0). The plugin uses gradle, so you need to move your resources (css, fxml, properties files) to `src/main/resources/` – José Pereda Jan 18 '17 at 09:44
  • Exact duplicate of [Error on loading borderPane in gluon project](http://stackoverflow.com/questions/41702218/error-on-loading-borderpane-in-gluon-project) – Modus Tollens Apr 02 '17 at 11:39
  • Please don't ask the same question again. Edit and update your original one instead. – Modus Tollens Apr 02 '17 at 11:43

0 Answers0