文章詳情頁
我何時應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)
瀏覽:273日期:2024-04-27 10:43:33
如何解決我何時應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)?
據(jù)我從Javadocs了解,JFrame.add稱為后者。這是避免AWT框架與Swings JFrame之間不兼容的一種便捷方法。
從javadocs的JFrame:
JFrame類與Frame略有不兼容。像所有其他JFC /Swing頂級容器一樣,JFrame包含JRootPane作為其唯一的子級。根窗格提供的內(nèi)容窗格通常應(yīng)包含JFrame顯示的所有非菜單組件。這與AWT框架情況不同。為方便起見,add和setLayout被覆蓋,可以根據(jù)需要轉(zhuǎn)發(fā)到contentPane。這意味著您可以編寫:
`frame.add(child);`
并將該子級添加到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 - immutable配合react提升性能?2. 如何設(shè)置一個無限循環(huán)并打破它。(Java線程)3. python小白 自學(xué)看書遇到看不懂的地方4. javascript - sublime快鍵鍵問題5. macos - 如何徹底刪除mac自帶的apache和php6. docker 17.03 怎么配置 registry mirror ?7. shell - mysql更新錯誤8. DADB.class.php文件的代碼怎么寫9. php對mysql提取數(shù)據(jù)那種速度更快10. 實現(xiàn)bing搜索工具urlAPI提交
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備