我的开发环境包括:
-NetBeans 11.0
-Java 11
-JavaFX 11.0
我创建了使用ServiceLoader加载扩展的模块化应用程序。现在,我想使用户能够为管理中的应用程序设计选择可能会影响应用程序的结构和颜色之一。
执行步骤:
1.从服务器获取结构ID
2.从服务器获取样式ID
3.阅读具有结构说明的资源文件
4.根据结构ID加载用于显示的扩展,并使用样式ID对其进行着色
5.用其他扩展名(按钮和表格)填充显示结构
例如:
假设结构编号1是BorderPane,它的各个侧面都填充有HBox节点,并且每个节点都有特定的ID,例如bp_hb_1用于BorderPane顶部,bp_hb_2用于BorderPane中心,等等。
现在,当我加载扩展以填充这些节点时,我的应用程序会从其所属的资源文件位置读取信息,例如
来自资源文件:
bp_hb_1 = btn_1
上面的线表示btn_1扩展名正在bp_hb_1节点内。
这是一个仅需要更新较小且更新便宜的资源文件的解决方案。
如果您对我的示例有任何建议或其他实现多结构显示更改的方法,我将不胜感激。
答案 0 :(得分:-3)
考虑使用设计模式。抽象工厂模式甚至桥接模式都可以为您的问题提供解决方案。