2017-10-23 7 views
0

私は、gradleサポート(javafx-gradle-plugin 8.8.2)のマルチモジュールJavaFXアプリケーションを実行します。アプリケーションをすべてビルドすると問題なく、ネイティブパッケージが生成されますが、Resources-Bundles(例:翻訳用)は含めることができません。 Javaコードでの参照先と場所について教えてください。JavaFXのgradleリソース(バンドル)

ありがとうございます。

答えて

1

K、解決策を得ました。うまくいけば、それは将来的に他の人を助ける:

MainEventContainer.java:

@Override 
public void start(Stage primaryStage) throws Exception { 
ResourceBundle bundle = ResourceBundle.getBundle("UIResources", new Locale("de")); 
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/event_container.fxml"), bundle); 
Parent root = fxmlLoader.load(); 
EventContainerController controller = fxmlLoader.getController(); 

System.out.println(bundle.getString("greeting")); 

Scene scene = initScene(primaryStage, root); 

scene.getStylesheets().add("/styles/styles.css"); 

// ... 
} 

UIResources.properties:

greeting=Hello 

UIResources_de.properties:

greeting=Hallo 

スタイル/ Styles.cssを:

.button:hover { 
    -fx-background-color: #81C784; 
} 

event_container.fxml:

<?xml version="1.0" encoding="UTF-8"?> 
<?import javafx.scene.layout.VBox?> 
<VBox fx:id="root" alignment="CENTER" prefHeight="300.0" prefWidth="500.0" 
     xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" 
     fx:controller="com.kjtech.EventContainerController"> 
    ... 
</VBox> 

プロジェクト構造:

proj-struc

gradle-partについては、ドキュメントhereに従ってください。

ご不明な点がございましたら、お気軽にお問い合わせください。

+1

これはjavafx-gradle-plugin関連のものです(私が見る限り)。 *免責事項:*私はそのプラグインの作成者です。 – FibreFoX

+1

私は知っている:)あなたが提供する本当に素晴らしい仕事。どうもありがとうございます。 2014年には、アプリアイコンを使ってJavaFXアプリを出荷するのが最も簡単な作業ではないことを理解するまで、多くの時間を費やしました。あなたのプラグインは面倒なく、仕事をします。あなたへの誇り! –

+0

...私がプラグインについて書いた理由は、プロジェクトの構造が「default IntelliJ Application」の設定とは異なり、gradle/maven上で異なっているようです。 - そして私はリソースをパッケージ化するプロセスも違うと思う(でも多分私は間違っている...) –

関連する問題