文章詳情頁
我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)
瀏覽:134日期: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ì)信息,請(qǐng)參考RootPaneContainer。
解決方法它們之間是否有區(qū)別,是否有任何條件可以使用一種而不是另一種?
標(biāo)簽:
java
相關(guān)文章:
1. MySQL中無法修改字段名的疑問2. angular.js - angular內(nèi)容過長展開收起效果3. javascript - 如何讓移動(dòng)端網(wǎng)頁的輸入框固定在底部?4. 大家好,請(qǐng)問在python腳本中怎么用virtualenv激活指定的環(huán)境?5. android - QQ物聯(lián),視頻通話6. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)這塊?7. mysql - 怎么讓 SELECT 1+null 等于 18. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請(qǐng)求)9. 網(wǎng)頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?10. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)
排行榜

熱門標(biāo)簽