文章詳情頁
我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)
瀏覽:87日期:2024-04-27 10:43:33
如何解決我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)?
據(jù)我從Javadocs了解,JFrame.add稱為后者。這是避免AWT框架與Swings JFrame之間不兼容的一種便捷方法。
從javadocs的JFrame:
JFrame類與Frame略有不兼容。像所有其他JFC /Swing頂級(jí)容器一樣,JFrame包含JRootPane作為其唯一的子級(jí)。根窗格提供的內(nèi)容窗格通常應(yīng)包含JFrame顯示的所有非菜單組件。這與AWT框架情況不同。為方便起見,add和setLayout被覆蓋,可以根據(jù)需要轉(zhuǎn)發(fā)到contentPane。這意味著您可以編寫:
`frame.add(child);`
并將該子級(jí)添加到contentPane中。內(nèi)容窗格將始終為非空。嘗試將其設(shè)置為null將導(dǎo)致JFrame引發(fā)異常。默認(rèn)的內(nèi)容窗格將設(shè)置有BorderLayout管理器。有關(guān)添加,刪除和設(shè)置JFrame的LayoutManager的詳細(xì)信息,請參考RootPaneContainer。
解決方法它們之間是否有區(qū)別,是否有任何條件可以使用一種而不是另一種?
標(biāo)簽:
java
相關(guān)文章:
1. javascript - SuperSlide.js火狐不兼容怎么回事呢2. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?3. 一個(gè)mysql聯(lián)表查詢的問題4. java - 安卓電視盒子取得了root權(quán)限但是不能安裝第三方應(yīng)用,請問該怎么辦?5. python - 如何使用pykafka consumer進(jìn)行數(shù)據(jù)處理并保存?6. 一個(gè)走錯(cuò)路的23歲傻小子的提問7. html5 - iOS的webview加載出來的H5網(wǎng)頁,怎么修改html標(biāo)簽select的樣式字體?8. java - 創(chuàng)建maven項(xiàng)目失敗了 求解決方法9. java-se - 正在學(xué)習(xí)Java SE,為什么感覺學(xué)習(xí)Java就是在學(xué)習(xí)一些API。10. 主從備份 - 跪求mysql 高可用主從方案
排行榜

熱門標(biāo)簽