[英]Swing - get main window class instance from button class
單擊特定按鈕后,我需要在面板類中運行一個方法(將其稱為SampleMethod
)。 在將面板添加到主窗口類實例中的某種列表時,我只是將其公開,並希望在按鈕的mouseClicked
事件中對其進行訪問。 那么,如何獲取主窗口實例,以便獲取該面板列表,獲取特定的面板並使用該實例運行SampleMethod
?
當面板被添加到主窗口類實例的某種列表中時...
主窗口類實例? 看來您的主窗口只有一個實例,可以擴展JFrame
或JPanel
或JDialog
等。無論如何,您可以在應用程序中使用Singleton設計模式來獲取和使用同一實例(在您的情況下為相同的主實例)。您的代碼。 在Singleton模式中,我們應用該模式的類的構造函數是private ,因此您無法創建它的實例。 但是,此類還具有其單個靜態實例 ,可以通過getter方法引用該實例 ,並將其用於您的代碼中。 看看網上的Singleton示例,您將可以像
YourJFrame.getInstance().getPanels(10).sampleMethod()
;
在您的嵌套類和方法中,在您的情況下為mouseClicked()
。
垃圾神怎么說。 請改用ActionListener類和按鈕addActionListener(),因為您只需要知道按鈕是否被按下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.