我有一個非常具體的問題,我想知道是否有方法來更改JDialog的所有者(可以使用構造函數設置它)。我想沒有「官方」的可能性(除了黑客),但我想確保我沒有錯過任何東西。任何想法或提示有關該主題將有所幫助,謝謝已...有沒有辦法改變一個JDialog的擁有者?
6
A
回答
7
如果你的問題是關於如何在應用程序生命週期中重用對話框,那麼更好的方法是:
- 定義您的所有對話內容的JPanel子類
- 和實例化一個新的JDialog與現有的JPanel子類的實例
對於第2點,當然你也可以用面板的懶散評估(實例在第一次只用,然後重用)。
您還需要讓面板實現一些(您自己的)接口,允許您重新初始化它們以便在新的JDialog中重用(重新創建通常意味着擦除所有字段的內容,或者將這些字段設置回它們的默認值)。
1
只有我可以想到的事情在不安全的黑客攻擊(使用反射和改變所有者,但可能會改變在不同版本的JVM下即使是來自同一個平臺上的同一個傳感器))。
對於你來說,或許一個更好的問題是「這就是我正在做的事情......我真的需要改變對話的主人還是有更好的方式」?我試圖想要改變業主的理由,我不能拿出任何...
1
記者:
我曾在我的應用程序以服務「註釋」對話框時,表單元格中的文本太長,顯示一個「全球性」對話框中同樣需要。在這種情況下,用戶可以懸停或右鍵單擊單元格並獲得顯示整個文本的對話框。但是,我希望對話框能夠快速顯示,特別是在懸停時,所以我只想簡單地顯示和隱藏它。我決定創建這個對話框並將其存儲在主類中,並將應用程序框架作爲所有者。然後,無論何時任何視圖的所有者是框架都需要筆記對話框,該視圖可以從主類中獲取它。在那些需要對話框的對話框中,父對話框可以用合適的所有者創建一個新的對話框實例。由於這些父對話框(至少在我的應用程序中)在關閉時處理,額外的筆記對話框實例將超出範圍並收集垃圾。希望有所幫助。
相關問題
- 1. 有沒有辦法擁有不可變的CSS屬性?
- 2. 有沒有辦法var_dump一個變量?
- 3. 有沒有辦法動態改變一個按鈕的CSS類?
- 4. 有沒有辦法改變一個const結構的成員?
- 5. 有沒有辦法改變一個gem的gcc編譯選項?
- 6. 有沒有辦法改變一個標誌使用gmaps4rails V2的
- 7. 有沒有辦法改變一個類的屬性?
- 8. 有沒有辦法改變一個UILabel的textAlignment動畫?
- 9. MVC3有沒有辦法改變剃刀
- 10. 有沒有辦法改變JOptionPane.showMessageDialog字體?
- 11. 有沒有辦法改變url是iframe?
- 12. 有沒有辦法讓Twitter-Bootstrap擁有多個對話框?
- 13. 有沒有辦法在Visual Studio中擁有多個主體?
- 14. 有沒有辦法改進這個LINQ?
- 15. 有沒有辦法修改一個不可修改的集合?
- 16. 有沒有辦法改變我第一次提交的郵件?
- 17. .NET - 有沒有辦法改變整個機器的GC行爲?
- 18. 有沒有辦法在Groovy中擁有可調用的對象?
- 19. 有沒有辦法讓sparkjava擁有類似dropwizard的restful java API?
- 20. 有沒有辦法在stackview中有一個全局變量?
- 21. 有沒有辦法改變所有滾動條(Win10)的樣式?
- 22. WPF窗口擁有所有者句柄,但沒有所有者
- 23. 有沒有辦法改變這種語言的變量值?
- 24. Jest吞下console.log語句嗎?有沒有辦法改變這個?
- 25. 有沒有辦法同時擁有iPhone SDK 3和4b?
- 26. 有沒有辦法在Xcode 4中擁有VIM鍵盤綁定?
- 27. 有沒有辦法讓瀏覽器擁有登錄憑證?
- 28. 有沒有辦法在Spring Security 4中擁有ConcurrentSessionControlStrategy.alwaysCreateSession?
- 29. 有沒有辦法在一個angular.element
- 30. 有沒有辦法讓一個UIView輪?
爲什麼你甚至想要這樣做? – Bombe 2009-02-16 16:35:28