我一直在Swing工作了一段時間,但是JFrame
s,paint()
,super
等的整個模型/結構在我的腦海裏都很模糊。 我需要一個清晰的解釋或鏈接來解釋整個GUI系統是如何組織的。Java GUI Swing模型說明
回答
同樣的事情發生在我身上。實際上直到今天,我還不完全知道它是如何工作的。
Swing是一個非常靈活的框架 - 可能太靈活了。隨着靈活性的出現,很多抽象和抽象都會引起混亂。 :)
我發現以下文章值得閱讀。他們幫助我更好地理解Swing的全貌。
他們解釋得很好如何模型和委託的工作。它總是使我瘋了,當我看到那些JLabel
,LabelUI
,ui.update
等
你看過Java Swing教程(點擊here)?它在覆蓋開發Swing應用程序的基礎知識方面做得很好。
Filthy Rich Clients通過切特·哈澤和羅曼蓋伊是關於Java UI一個偉大的書。它也涵蓋了一些更高級的東西,但是介紹和很少的第一章很好地解釋了基本的東西。
如果在閱讀Swing教程後發現您的興趣在於更高級的主題,那麼您也可以參閱Robinson和Vorobiev的Swing Second Edition。
由於此問題的標記爲JFrame
,因此我會建議一些鏈接以瞭解JFrame
和其他頂級Swing容器如何工作。
我還發現Swing是(並且仍然)非常重要,每隔一段時間需要看一下Sun提供的文檔 - 每次檢查時,我似乎都會學到一些新東西。
一,基礎知識:JFrame
類來自Java API規範。 Java API規範通常提供有關類的詳細信息。在這種情況下,您會注意到有幾個鏈接,如The Java Tutorials中的How to Make Frames部分。
除此之外,我還建議查看The Java Tutorials中的Lesson: Using Swing Components。本課程提供了有關如何使用Swing中提供的組件以及一些有用示例的說明。
有關我開始使用Swing時感到困惑的更多細節部分,都是不同類型的窗格,例如ContentPane
,RootPane
,GlassPane
。 Using Top-Level Containers部分提供有關頂級容器的容器層次結構的信息和有用的圖表。 How to Use Root Panes部分詳細介紹了Glass,Layered和Content窗格以及大量示例。
我發現只需在源代碼中瀏覽(如果您使用的是NetBeans,按住Ctrl鍵單擊一個名稱)非常有用。如果我看到方法出現在我不熟悉的完成對話框中,那麼我只需單擊「轉到源代碼」並環視四周,直到我熟悉它爲止。
我發現Swing Explorer是理解組件層次結構(特別是在複雜的GUI中)並查看屬性(alas,只讀:我們習慣於Firebug的便利!)的寶貴工具。它有一個Eclipse插件。
- 1. Java swing repaint GUI
- 2. Java Swing SearchBox模型
- 3. Java swing GUI錯誤
- 4. Java Swing GUI - 問題
- 5. Java Swing GUI凍結 - 觀察者模式
- 6. Java泛型,說明需要
- 7. Java泛型 - 需要說明
- 8. 在Swing JAVA中刷新表模型或GUI
- 9. Java Swing - 通知GUI有關對模型的更改
- 10. Java Swing:列表模型和集合
- 11. Java Swing GUI中的NullPointerException
- 12. 高級Java swing gui框架
- 13. Java swing GUI絕對定位
- 14. Java Swing GUI小時玻璃
- 15. Java Swing GUI似乎不是
- 16. Java swing中的堆棧GUI
- 17. Java Swing GUI Try/Catch Block
- 18. Java Swing GUI對齊問題
- 19. Java中使用Swing的GUI
- 20. 隱形的GUI? (Java)(Swing)
- 21. JAVA Swing Gui窗口掛起
- 22. 的Java Swing GUI凍結
- 23. Java Swing GUI代碼結構
- 24. Java - Swing GUI窗口順序
- 25. Java swing gui內存分配
- 26. Java GUI和模型問題
- 27. Java操作說明
- 28. Java Swing - 半透明組件
- 29. 暫停Swing GUI
- 30. 控制器與模型 - 需要說明
非常有用的鏈接 - 以前沒有見過;稍後再收藏一下。 – 2008-12-16 02:00:18