【问题标题】:When to create a Panel for CardLayout?何时为 CardLayout 创建面板?
【发布时间】:2013-04-09 07:15:20
【问题描述】:

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

例如:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      相关资源
      最近更新 更多