文章詳情頁(yè)
我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)
瀏覽:90日期:2024-04-27 10:43:33
如何解決我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)?
據(jù)我從Javadocs了解,JFrame.add稱(chēng)為后者。這是避免AWT框架與Swings JFrame之間不兼容的一種便捷方法。
從javadocs的JFrame:
JFrame類(lèi)與Frame略有不兼容。像所有其他JFC /Swing頂級(jí)容器一樣,JFrame包含JRootPane作為其唯一的子級(jí)。根窗格提供的內(nèi)容窗格通常應(yīng)包含JFrame顯示的所有非菜單組件。這與AWT框架情況不同。為方便起見(jiàn),add和setLayout被覆蓋,可以根據(jù)需要轉(zhuǎn)發(fā)到contentPane。這意味著您可以編寫(xiě):
`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. python+jinja2編寫(xiě)前端界面,發(fā)生Unexpected end of template問(wèn)題,求解決!2. python - django orm 過(guò)濾日期為當(dāng)天日期的數(shù)據(jù)3. angular.js - 指令下的指令 面對(duì)上級(jí)指令ng-repeat的時(shí)候 ng-controller會(huì)出現(xiàn)多次的問(wèn)題?4. javascript - 一個(gè)JS的算法,求大神解答5. python - django 按日歸檔統(tǒng)計(jì)訂單求解6. javascript - jQuery中l(wèi)ive事件在移動(dòng)微信端下沒(méi)有效果;代碼如下7. android-studio - Android Studio 運(yùn)行項(xiàng)目的時(shí)候一堆警告,跑步起來(lái)!?8. 熱切期待朱老師的回復(fù),網(wǎng)頁(yè)視頻在線(xiàn)播放器插件配置錯(cuò)誤9. mysql - phpmyadmin怎么分段導(dǎo)出數(shù)據(jù)啊?10. Android "1"=="1" 到底是true還是false
排行榜

熱門(mén)標(biāo)簽