例如:有两个面板,每个面板具有不同的名称,但由相同的构造函数制作。您用鼠标侦听器单击一个。我希望它显示面板上的信息,例如名称。但是,mouselistener位于构造函数中。任何想法或解决方法。在c ++中,我可以将其作为参考传递,但是我不知道在Java中该怎么做。
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());
}
如果您需要更具体的建议,请考虑创建并发布一个最小的示例程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句