java - 何时为 CardLayout 创建面板?

标签 java swing model-view-controller jpanel cardlayout

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

例如:

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

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

最佳答案

尽量避免替换 View 组件。首先,创建尽可能多的 DetailPanel更新组件 models在您的 ListSelectionListener 中。将 CardLayout 用于每个 DetailPanel 的可变部分。创建 View 不太可能对性能产生明显的影响; profile查看。如果您发现构建模型会带来显着的延迟,请考虑 SwingWorker,如图 here 所示。和 here .

关于java - 何时为 CardLayout 创建面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15895621/

相关文章:

ios - 核心数据模型非存储模型和主题演讲?

java - 如何使用共享首选项修复显示值?

java - Derby 嵌入式数据库创建表结构

java - 编程 Java Swing、Flex 等

java - 使用线程实时更新 JTextArea

javascript - 如何与其他网站共享页脚控件?

java - ArrayList 显示为红色且无法编译 --- java android

java - 结合 hashCode() 和 equals() 更快?

java - java 中的运行时进程处理文件

jquery - MVC 使用 JQuery 更新模型