2017-01-13 14 views
1

javafxportsテクノロジに関する情報を探しています。このプロジェクトのFXMLファイル内で使用できます。javafxportsプロジェクト内のFXMLファイル

これは私のbuild.gradleです:

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

apply plugin: 'org.javafxports.jfxmobile' 

repositories { 
    jcenter() 
    maven { 
     url 'http://nexus.gluonhq.com/nexus/content/repositories/releases' 
    } 
} 

mainClassName = 'com.orden.First' 

dependencies { 
    compile 'com.gluonhq:charm:4.0.0' 

    // Desktop SQL -> https://github.com/xerial/sqlite-jdbc 
    desktopRuntime 'org.xerial:sqlite-jdbc:3.8.11.2' 

    embeddedRuntime 'com.gluonhq:charm-down-plugin-storage-desktop:3.0.0' 
    // Embedded SQL -> https://github.com/xerial/sqlite-jdbc 
    embeddedRuntime 'org.xerial:sqlite-jdbc:3.7.2' 

    // Android SQL -> https://github.com/SQLDroid/SQLDroid 
    androidRuntime 'org.sqldroid:sqldroid:1.0.3' 

    // ios SQL -> https://github.com/robovm/robovm 1.8 
} 

jfxmobile { 
    downConfig { 
     version = '3.0.0' 
     plugins 'display', 'lifecycle', 'statusbar', 'storage' 
    } 
    android { 
     manifest = 'src/android/AndroidManifest.xml' 
     androidSdk = 'C:/Program Files (x86)/Android/android-sdk/' 
    } 
    ios { 
     infoPList = file('src/ios/Default-Info.plist') 
     forceLinkClasses = [ 
       'com.gluonhq.**.*', 
       'javax.annotations.**.*', 
       'javax.inject.**.*', 
       'javax.json.**.*', 
       'org.glassfish.json.**.*', 
       'SQLite.**.*' 
     ] 
    } 
    embedded { 
     remotePlatforms { 
      raspberry { 
       host = '192.168.1.10' 
       username = 'pi' 
       password = 'raspberry' 
       workingDir = '/home/pi/Gluon' 
       jreLocation = '/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt' 
       execPrefix = 'sudo' 
      } 
     } 
    } 
} 

そして、これは私のJavaFXの最初のページのコードです:私たちは、私はすべての私のグラフィカル構造(コントロールを定義するためにFXMLファイルを使用して見ることができるように

package com.orden; 

import java.io.File; 
import java.net.URL; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.geometry.Rectangle2D; 
import javafx.scene.Scene; 
import javafx.scene.control.Label; 
import javafx.scene.image.Image; 
import javafx.scene.layout.AnchorPane; 
import javafx.scene.layout.StackPane; 
import javafx.stage.Screen; 
import javafx.stage.Stage; 

public class First extends Application { 
    public void start(Stage primaryStage) { 
     try { 

      URL url = new File("src/main/java/com/orden/views/MainWindowFXML.fxml").toURL(); 
      URL url2 = new File("src/main/java/com/orden/views/application.css").toURL(); 
      AnchorPane root = (AnchorPane)FXMLLoader.load(url); 


      Scene scene = new Scene(root); 
      scene.getStylesheets().add(url2.toExternalForm()); 

      primaryStage.setScene(scene); 
      primaryStage.show(); 
      primaryStage.setTitle("Image saver"); 
      primaryStage.setResizable(true); 

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


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

} 

等。)。すべてが大丈夫です。また、.apkファイルを作成し、Android OSでスマートフォンでアプリケーションを実行することもできます。問題は、私が黒い画面しか見ることができないアプリケーションを起動することです。

誰かがこの問題を解決する方法を知っている場合、私は任意のヒントを開いています。 グルーオンのプラグイン設定が難しいので、私は一歩一歩は解決策が必要です。

enter image description here

答えて

0
URL url = getClass().getResource("views/MainWindowFXML.fxml"); 
URL url2 = getClass().getResource("views/application.css"); 

または

URL url = getClass().getResource("/com/orden/views/MainWindowFXML.fxml"); 
URL url2 = getClass().getResource("/com/orden/views/application.css"); 

か私が見いずれにしても

URL url = getClass().getClassLoader().getResource("com/orden/views/MainWindowFXML.fxml"); 
URL url2 = getClass().getClassLoader().getResource("com/orden/views/application.css"); 
+0

:「java.lang.NullPointerExceptionが私の下

は、私のファイルツリーを提示します:場所はrです等しかった。エラー –

+1

@DawidMalczakこれらのファイルはどこに追加されていますか? SrcまたはResourcesパッケージ? gradleを使って、彼らはリソースパッケージの下にある必要があります。 –

+0

私の質問の最後にある画像リンクをクリックしてください。私のファイルツリーがあります。 –

関連する問題