例如:有两个面板,每个面板具有不同的名称,但由相同的构造函数构成。用鼠标滑块单击一个。我希望它显示面板中的信息,例如名称。但是,mouselistener位于构造函数中。任何想法或解决方法。在c ++中,我可以将它作为参考传递,但我不知道在Java中做什么。
答案 0 :(得分:1)
MouseListener的每个方法的MouseEvent都有对被监听组件getSource()
方法的引用。使用它,你就会得到你的信息。例如,
@Override
public void mousePressed(MouseEvent mEvt) {
Component theCurrentPressedComponent = (Component) mEvt.getSource();
// now you can use your variable above, although you probably need to
// cast it to something else, such as a JPanel
// e.g., if it has been assigned a name String via setName(...)
System.out.println(theCurrentPressedComponent.getName());
}
如果您需要更具体的建议,请考虑创建并发布minimal example program。