我有一個菜單欄類(MenuBarGUI),我把它放在所有其他類中,我需要知道是否可以通過菜單中的選項關閉當前包含的JFrame。通常我可以調用setVisible(false)然後dispose(),但因爲菜單欄沒有對當前幀的引用,所以我不能這樣做。有沒有辦法做到這一點?有什麼辦法可以獲得對Java中當前框架的引用嗎?
4
A
回答
4
如果您MenuBarGUI類JMenuBar的擴展,你可以使用getTopLevelAncestor方法獲取菜單欄的窗口。
1
getParent()
將獲得父容器。用這種方法,你將不得不做一些鑄造。更理想的選擇是使菜單欄可以採用包含close方法的界面。
下面是一個例子:
JFrame frame = new JFrame();
JMenuBar bar = new JMenuBar();
frame.setJMenuBar(bar);
if(bar.getParent().getParent().getParent() instanceof JFrame){
System.out.println(bar.getParent().getParent().getParent());
}
0
上述方法都不適用於我。
因爲我只需要一個小組的直接母公司,直接訪問他們通過超級呼叫:super.setTitle(「新幀標題」)等
相關問題
- 1. 有沒有什麼辦法可以獲得Google Apps中的Android對話框?
- 2. 有沒有什麼辦法可以獲得「當前函數」的返回類型
- 3. 有什麼辦法可以獲得c函數的大小嗎?
- 4. 有沒有什麼辦法可以在Swift中引用當前模塊?
- 5. 有什麼辦法可以在c#中調用對象的引用嗎?
- 6. 有什麼辦法獲得當前的截圖?
- 7. 有什麼辦法可以檢測Java中的RTL語言嗎?
- 8. 有什麼辦法可以在UILabel中獲得NSRange的CGRects?
- 9. 有什麼辦法可以這樣嗎?
- 10. 有什麼辦法可以獲得當前登錄到C#.NET中的Quickbooks的所有用戶列表?
- 11. 有什麼辦法可以得到Flare3D的截圖嗎?
- 12. 有什麼辦法可以入侵Swift Project的靜態框架嗎?
- 13. 有什麼辦法可以獲得iPhone應用程序記錄
- 14. 有什麼辦法可以獲得java中每個csv列的數據類型?
- 15. 有什麼辦法可以向RVM詢問當前的Ruby路徑嗎?
- 16. 有什麼辦法可以用cURL來獲得這種行爲嗎?
- 17. jquery ajax - 有什麼辦法可以得到部分響應嗎?
- 18. 有什麼辦法可以對我的listview進行排序嗎?
- 19. Sailjs /水線 - 有什麼辦法可以獲得先前提取的物體?
- 20. 有什麼辦法可以獲得項目的依賴關係圖嗎?
- 21. 有什麼辦法可以獲得tkinter菜單按鈕的信息嗎?
- 22. 有什麼方法可以從前一課中獲得價值?
- 23. 有什麼辦法可以改變apprequests對話框的高度嗎?
- 24. 有什麼辦法可以全局獲取腳本文件嗎?
- 25. 有什麼辦法可以將MouseListener添加到Graphic對象嗎?
- 26. 有什麼辦法可以在Bigtable/Cassandra DB中使用Symfony PHP框架?
- 27. 有什麼辦法可以從iPad上獲得網頁錄製聲音嗎?
- 28. 有什麼辦法可以在sql中使用函數嗎?
- 29. 有什麼辦法可以在random.randint中使用raw_input變量嗎?
- 30. 有沒有什麼辦法可以用zend框架繪製圖形
我究竟怎樣才能實現的getParent()方法?我不確定把一個容器放到一個窗口有多安全(這看起來很不安全)。另外,我怎麼能實現另一種方法? – LOD121 2011-02-01 23:00:32
我增加了一個例子,但是如果你要走這條路線,Gursel建議getTopLevelAncestor會更合適。 – jzd 2011-02-01 23:19:42