java - 多个 JInternalFrame 之间的共享对象

标签 java datamodel jinternalframe jdesktoppane

在单个 JDesktopPane 上的多个 JInternalFrame 之间实现共享数据对象的最有效方法是什么?

不确定是否使用单例,或者我可以将数据对象放入 JDesktopPane 并从组件进行访问吗?我不想为每个帧(很多帧)保留此数据的单独实例

最佳答案

我会避开单例(因为它类似于使用全局变量 - 有关说明,请参阅 here),而使用子类 JInternalFrame 来包含对共享数据对象的引用;例如

public class MyInternalFrame extends JInternalFrame {
  private final SharedData data;

  public MyInternalFrame(SharedData data) {
    this.data = data;
  }
}

显然,尽管有多个对 SharedData 的引用(每个 MyInternalFrame 实例一个),系统中仍然只有一个 SharedData 对象;也就是说,您不会使用这种方法复制数据。

关于java - 多个 JInternalFrame 之间的共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272300/

相关文章:

ios - 核心数据 : Data does not store to database (swift)

mysql - 处理电子商务返回的数据库模型

java - JDesktopPane.getAllFrames() 是否始终指示 JInternalFrame z 顺序?

java - 关于 JInternalFrames 的问题

java - HTTP 404 请求的资源 (//) 不可用 - Tomcat 6

java - 如何更新@OneToMany 集合中的现有条目?

java - 在没有打印语句的情况下,循环看不到其他线程更改的值

node.js - 在 MongoDB 中建模访问控制

java - 全屏模式下的 JInternalFrame

java - Struts 1 动态设置action的输入属性