我需要在单击特定按钮时在面板类中运行一个方法(让我们称之为SampleMethod
)。由于面板被添加到主窗口类实例中的某种列表中,我只是将其公开,并希望在按钮的mouseClicked
事件中访问它。
那么,我如何获得主窗口实例,以便获得该面板列表,获取特定面板并使用此实例运行SampleMethod
?
答案 0 :(得分:2)
答案 1 :(得分:2)
答案 2 :(得分:1)
将面板添加到主窗口类中的某种列表中 实例...
主窗口类实例?您的主窗口似乎只有一个实例可以延伸JFrame
或JPanel
或JDialog
等等。无论如何,您可以在您的主页中使用 Singleton 设计模式应用程序在代码中的任何位置获取和使用相同的实例(在您的情况下是相同的主实例)。在Singleton模式中,我们应用模式的类的构造函数是 private ,因此您无法创建它的实例。但是,这个类还有单个静态实例,可以通过getter方法引用并在代码中使用any。看看网络上的Singleton示例,你就可以打个电话了
YourJFrame.getInstance().getPanels(10).sampleMethod()
;
在您的嵌套类和方法中,在您的情况下为mouseClicked()
。
答案 3 :(得分:0)
什么垃圾桶说。使用ActionListener类和按钮addActionListener()代替,因为您只需要知道按钮是否被按下。