Java 如何使用MigLayout创建模块化UI而不嵌套多个面板?

Java 如何使用MigLayout创建模块化UI而不嵌套多个面板?,java,swing,javafx,swt,miglayout,Java,Swing,Javafx,Swt,Miglayout,MigLayout是Swing、SWT和JavaFX的高度通用的布局管理器。 根据文档,应该可以使用该布局管理器的单个实例(重新)创建任何给定布局 但是,我始终不知道如何创建一个模块化应用程序,通过该实例对布局进行分散控制: 我有一个父面板,控制子模块贡献的各个组件的位置。 针对解耦和独立的子模块,这些组件可以自由选择是使用MigLayout还是使用任何给定的布局管理器进行布局。因此,它们会发出一个节点(或JComponent)的实例,我最终得到了嵌套的布局管理器 对于实现解耦的体系结构和遵循M

MigLayout是Swing、SWT和JavaFX的高度通用的布局管理器。 根据文档,应该可以使用该布局管理器的单个实例(重新)创建任何给定布局

但是,我始终不知道如何创建一个模块化应用程序,通过该实例对布局进行分散控制: 我有一个父面板,控制子模块贡献的各个组件的位置。 针对解耦和独立的子模块,这些组件可以自由选择是使用MigLayout还是使用任何给定的布局管理器进行布局。因此,它们会发出一个
节点
(或
JComponent
)的实例,我最终得到了嵌套的布局管理器


对于实现解耦的体系结构和遵循MigLayout的单实例范例,是否有任何紧急/良好/最佳实践?

我了解您想要做什么,并尝试过类似的方法。我没有找到通用的解决方案;要么嵌套布局,要么在模块之间就单元格范围的使用达成某种协议(这就是我通常在生成搜索屏幕时得到的结果)

我得出了一个结论;让完全独立的模块将内容放在屏幕上在技术上可以很好地工作,如果您可以将高度分离作为布局样式的一部分,它也可能适合用户。但我发现,生成的屏幕通常不是非常用户友好,特别是如果有多层结构的话。因此,我不再尝试动态构建屏幕,而只是构建一个屏幕来匹配手头的任务;有最终用户屏幕、一些自定义控件,可能还有偶尔的特定于任务的面板(/pane)