我运行了一个带有gradle支持的多模块JavaFX应用程序(javafx-gradle-plugin 8.8.2
)。当我构建应用程序时,一切都工作正常,甚至本机包生成没有问题 - 但我不能包括Resources-Bundles(例如翻译)。
请让我知道在哪里放置它们以及如何在Java代码中引用。
提前致谢。
答案 0 :(得分: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>
项目结构:
对于gradle-part,只需按照文档here。
如果您有任何疑问,请随时提出。