何时为CardLayout创建Panel?

时间:2013-04-09 07:15:20

标签: java swing model-view-controller jpanel cardlayout

我将CardLayout与MVC一起使用并尝试理解,当我应该创建CardLayout使用的面板时。

例如:

当我在ListPanel上选择DataItem时,将显示一个用于查看和编辑DataItem的详细信息的DetailPanel。 我应该在选择DataItem时创建和显示DetailPanel,还是应该在应用程序的开头创建DetailPanel并调用load方法,当我选择DataItem,然后显示DetailPanel?

目前我正在像Stack一样使用CardLayout。我需要时添加一个面板,并在完成编辑后将其删除。

1 个答案:

答案 0 :(得分:2)

尽量避免替换视图组件。最初,在DetailPanel中尽可能多地创建ListSelectionListener更新组件models。使用CardLayout作为每个DetailPanel的可变部分。创建视图不太可能产生明显的性能影响; profile要看。如果您发现构建模型会导致严重延迟,请考虑SwingWorker,图示为herehere