即時製作一個物理模擬器的樂趣,我正在查找圖形教程,當我試圖找出所有這些J之間的區別。有人可以詳細說明他們,或者提供一個鏈接到一個有用的來源?JPanel,JFrame,JComponent和JApplet之間的區別
回答
您可能會發現查找oracle上的類很有用。例如:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html
在那裏,你可以看到JFrame的擴展JComponent的和JContainer。
JComponent是一個可以繪製的基本對象,JContainer對此進行了擴展,以便您可以向其中添加組件。 JPanel和JFrame都可以擴展JComponent,因爲您可以將其添加到它們中。 JFrame提供了一個窗口,而JPanel只是一個放在窗口內的面板。如果這是有道理的。
JFrame和JApplet是頂級容器。如果您希望創建桌面應用程序,那麼您將使用JFrame,如果您計劃在瀏覽器中託管應用程序,則將使用JApplet。
JComponent是所有Swing組件的抽象類,您可以將它用作新組件的基類。 JPanel是一個簡單的可用compoent,你幾乎可以使用任何東西。
由於這是一個有趣的項目,最簡單的方法是使用JPanel,然後將其託管在JFrame或JApplet中。 Netbeans擁有簡單示例的Swing視覺設計師。
這些類是Java UI設計的常見擴展點。首先,要意識到他們不一定直接與對方有很大關係,所以試圖找到他們之間的關係可能會適得其反。
JApplet - 讓您編寫將在瀏覽器上下文中運行的代碼的基類,例如交互式網頁。這很酷,但它帶來的限制是它在現實世界中玩的不錯的代價。通常,當您想在網頁中擁有自己的用戶界面時,使用JApplet。我一直在想,爲什麼人們不會利用applet來存儲session的狀態,所以不需要數據庫或cookie。
JComponent - 打算與Swing交互的對象的基類。
JFrame - 用於表示窗口應該有的東西。這包括各種系統事件(如「窗口關閉」)(允許應用程序退出嗎?)的邊框(可調整大小的y/n?),標題欄(應用程序名稱或其他消息),控件(最小化/最大化允許?)。
JPanel - 用於將其他元素聚集在一起的泛型類。這對於使用可視佈局或提供的佈局管理器之一更重要,例如gridbaglayout等。例如,您有一個比您保留的區域大的文本框。將文本框放在滾動窗格中並將該窗格放入JPanel中。然後當你放置JPanel時,就佈局而言它將更易於管理。
- 1. JFrame和JPanel之間的通信
- 2. 改進JFrame和JPanel之間的通信
- 3. 在JFrame的JPanel內顯示JComponent
- 4. 在JFrame和JPanel之間添加空格
- 5. Java JFrame與JPanel與重繪的區別()
- 6. JApplet中的JFrame
- 7. 與JFrame和JPanel對象的區別int Java Swing?
- 8. jFrame到jApplet
- 9. 之間的〜/和的區別../
- 10. JComponent not to JPanel
- 11. '#','%'和'$'之間的區別
- 12. {!!之間的區別!!}和{{}}
- 13. '+ ='和'= +'之間的區別?
- 14. 「。+」和「。+?」之間的區別
- 15. .eq之間的區別。和==
- 16. #。/和#之間的區別。 ./
- 17. !=和!之間的區別==
- 18. 「%〜dp0」和「。\」之間的區別?
- 19. | =和^ = css之間的區別
- 20. 之間的區別。和#
- 21. ==和case之間的區別?
- 22. 「**/* /」和「** /」之間的區別?
- 23. jQuery - '。'之間的區別和「#」
- 24. 「?1」和「?」之間的區別
- 25. `%in%`和`==`之間的區別
- 26. fmod和%之間的區別
- 27. 之間的區別:+和:+
- 28. 怎樣的JPanel後的JComponent添加到JPanel中已經添加到JFrame中
- 29. 我可以問什麼是Jframe和JPanel之間的區別,哪些是編碼的主要
- 30. 類區域和堆之間的區別
作爲一個方面說明,繼承鏈對於一些Swing組件來說是荒謬的。它傾向於在IDE中完成代碼完成,並且混亂了javadoc。他們真的需要重寫那個東西 – TheLQ 2010-08-16 22:33:36
我想指出,JFrame不會擴展JComponent或JContainer,而是按照該順序擴展java.awt.Container和java.awt.Component。 – 2013-08-04 03:28:47
@LucasMorgan他們必須讓JFrame對Swing的依賴程度低於我的想象。由於它使用AWT,我想知道是否可以在JApplet中使用JFrame。 – 2015-09-08 15:08:32