一个应用里的两个控件(A,B),分别属于不同的container并且都是private成员,所以之间互不可见。
现在A中有鼠标事件,处理时想触发B发生相应的变化,但是不希望让A拿到B的reference,毕竟控件比较独立好一点。
想到的一个解决方法是自己写一个MyEvent,继承Event。B实现一个自定义的Listener的接口,用来监听事件MyEvent。A中处理事件时可以用postEvent把MyEvent加入SWING的EventQueue之中。这样就能使B得到消息了。
但是这个实现要增加一个class(MyEvent)和一个interface(listener接口),好像比较麻烦
有没有更简洁,或者更正规的设计?