繁体   English   中英

Swing-从按钮类获取主窗口类实例

[英]Swing - get main window class instance from button class

单击特定按钮后,我需要在面板类中运行一个方法(将其称为SampleMethod )。 在将面板添加到主窗口类实例中的某种列表时,我只是将其公开,并希望在按钮的mouseClicked事件中对其进行访问。 那么,如何获取主窗口实例,以便获取该面板列表,获取特定的面板并使用该实例运行SampleMethod

您可能会将Action视为公开所需功能的一种方式。 常见的用途是让按钮和菜单共享相同的处理器,但一个Action可以事件转发到另一个,如这里的按钮和按键。

当面板被添加到主窗口类实例的某种列表中时...

主窗口类实例? 看来您的主窗口只有一个实例,可以扩展JFrameJPanelJDialog等。无论如何,您可以在应用程序中使用Singleton设计模式来获取和使用同一实例(在您的情况下为相同的主实例)。您的代码。 在Singleton模式中,我们应用该模式的类的构造函数是private ,因此您无法创建它的实例。 但是,此类还具有其单个静态实例 ,可以通过getter方法引用该实例 ,并将其用于您的代码中。 看看网上的Singleton示例,您将可以像

YourJFrame.getInstance().getPanels(10).sampleMethod() ;

在您的嵌套类和方法中,在您的情况下为mouseClicked()

垃圾神怎么说。 请改用ActionListener类和按钮addActionListener(),因为您只需要知道按钮是否被按下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM