簡體   English   中英

從面板上關閉框架

[英]Closing a Frame from a Panel

讓我先解釋一下情況,我有一個帶有JPanel的類,名為panelclass。 它的方法getPanel()返回JPanel。

在一個名為frameclass的JFrame類中,我創建一個panelclass的新對象,獲取其面板並將其添加到框架窗格中。

我想要實現的是,當單擊paneclass中的按鈕時,它應該關閉此JFrame ie.frameclass。 我不知道面板類如何可以與框架類進行通信以關閉。 我嘗試了this.dispose()和super.dispose()但即使擴展了JFrame也沒有成功

有沒有更簡單的方法? 請幫忙。

有一些方法可以實現此目的,但最簡單的方法可能是通過使用SwingUtilities.getWindowAncestor(Component)

這將返回添加了組件的Window ;如果沒有父窗口,則返回null 從那里您可以簡單地調用Window#dispose來關閉框架。

單擊paneclass中的按鈕時,應關閉此JFrame

請參閱關閉應用程序 我更喜歡使用此處描述的“ ExitAction”之類的東西。 原因是您的應用程序的行為就像用戶單擊框架的關閉按鈕一樣,這意味着如果您在窗口中添加了任何WindowListener,它們將被調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM