我想问你关于在 Swing 中创建 GUI 的一个技术方面。假设我有一个JFrame
或JDialog
(没关系)以许多JPanels
(设置、操作、显示数据、图表等)组织的内容 - 全部在一个框架中。
例如:这里
我现在正在做的是在一个文件中定义所有组件(让它命名MainPanel.java
)并将它们组织在JPanels
. A 有一个单独的方法来组织每个面板
private void organizePanels() {
pnlSettings = createPnlSettings();
pnlActions = createPnlActions();
pnlChart = createPnlChart();
// ...
}
每个方法都负责设置JPanel
的布局,组织其中的组件等。当我有 3-4 个不复杂的面板时,它是有意义的(我的意思是可读性很强)。但是,如果我创建一个更复杂的结构,它就会开始成为一个小的维护噩梦(或者是一个很好的起点)。
这就是我想使用这种方法的原因: - 为每个JPanel
创建一个单独的类 - 每个类都应该有一个对其内部组件的访问器(单击AJButton
中JPanel
的 a 应该会影响刷新 other 中的 JCombo JPanel
)。- 面板之间的通信应该由 MainPanel 以某种方式提供。
因此,在 mainPanel 中,我将只引用 JPanel 而不是其中的组件。访问特定数据会稍微长一点(pnlActions.getSaveButton.setEnabled(true)
而不是,btnSave.setEnabled(true)
但这可能是自然的结果。我也可以公开 JPanel 中的所有组件。
你觉得这种方法正确吗?您是否认为我应该一直使用第二种方法,或者我的第一种方法适用于不太复杂的结构?
你有什么经验?