使用适配器时从父组件访问元素的正确方法是什么?例子:
在我的 JFrame 中有一个带有“连接”项的菜单。我用 MouseAdapter 处理“按下”事件:
mntmConnect.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
mainDialog.getY();
}
});
如您所见,我想访问此 Menu(item) 所属的 mainDialog 的组件或方法。但是在那个 MouseAdapter 中当然没有“mainDialog”是已知的。
所以这是我的方法:
1. 将需要的属性声明为 final
2.创建自己的MouseAdapter,将“mainDialog”作为ctor中的变量
在我看来,这两个都是间接的。这样做的正确方法是什么?