4
我有兩個JPMS模塊:如何從Java 9中的其他模塊添加到JavaFX Scene樣式表?
- 模塊-一個
- 模塊-B
在模塊-一個我有類似:
public class MyAppplication extends Application {
....
public static void addCss(String path) {
stage.getScene().getStylesheets().add(path);
}
}
在模塊-B我有要添加到MyApplication
的CSS文件。如何在模塊-B的代碼中做到這一點?我無法理解如何從另一個模塊傳遞路徑。
我的意思是在模塊-B:
...
MyApplication.addCss(???);
...
EDIT
在OSGi中我用下面的溶液中bundle-b
(假設,該模塊-一個呈束狀-a和模塊-B呈束狀-b):
String pathInBundleB = "com/foo/package-in-bundle-b/file.css"
Bundle bundleB = FrameworkUtil.getBundle(this.getClass()).getBundleContext().getBundle();
URL cssFileUrl = bundleB.getEntry(pathInBundleB);
MyApplication.addCss(cssFileUrl.toString());
什麼都有你到目前爲止嘗試過?用這個更新問題,請不要在沒有調試或嘗試的情況下發布問題。 – nullpointer
另請指明,這是不是類似於https://stackoverflow.com/questions/46369101/how-to-get-resourcebundle-from-another-module-in-java-9? – nullpointer
module-b可以訪問自己的資源,因此module-b應該有一個公共方法,它將內部調用的結果返回給Class.getResource或Class.getResourceAsStream。 – VGR