簡體   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