在我的编辑器中,我有一个LayersManager和一个LayersView类。LayersManager 类包含用户当前正在使用的所有图层(想想 Photoshop 图层)。LayersView 是一个 JPanel,它列出了 LayersManager 中包含的层。
我想要做的是在从 LayersManager 调用 add(Layer) 或 remove(Layer) 方法时,通过从 JPanel 的容器中添加或删除 LayerComponent 来更新 LayersView JPanel。
换句话说,我想要的是一个反向的 ChangeListener,每当在 LayersManager 中进行更改时,都会自动联系 LayersView,从其容器中添加或删除 LayerComponent 并使自身无效。
所以我的问题是:是否有内置的标准监听器来做到这一点?听众是正确的方法吗?或者我应该只在 LayersManager 中包含对 LayersView 的引用并手动调用所需的方法(我怀疑这是糟糕的设计)?我想不出一种很好的(设计明智的)方式来实现我自己的听众。
任何帮助表示赞赏!