點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第十二章匯總
12.5 使用容器
容器是以Container類為基礎(chǔ)的組件,因此,所有的Swing組件都是容器。Container類是Window類的直接基類,它提供了包含其他組件的能力。由于Container類是一個抽象類(abstract),所以你不能創(chuàng)建Container的實例。由于JFrame或JDialog是如同Window這樣的子類對象,所以它繼承了包含其他組件的能力。
注意,容器不能包含Window類對象或從Window類派生的類對象,可以包含任何由Comonent派生類的其他類對象。
容器中的組件顯示在屏幕上容器占據(jù)的區(qū)域內(nèi),例如,一個對話框可能包含提交選項的JList對象,提交其他選項的JCheekBox對象以及描述結(jié)束對話框或輸入選項時用戶可以使用的JButton按鈕對象,所以這些組件都顯示在對話框的邊框內(nèi)。當(dāng)然,容器要負(fù)責(zé)顯示這些被包含的組件,同時還要控制使用Layout manager嵌入的組件。在了解布局管理器的功能以及組件的布局如何確定之前,讓我們查看一下Container類中定義的基本方法以及所有容器可用的方法。
你可以使用Container類中定義的下列方法查看容器對象中有關(guān)組件。
如果我們有一個Container類對象content,或許是JFrame窗口的內(nèi)容窗格,我們就 可以運用下列的語句在Container中迭代。
Component aComponent-null; //Stores a Component
int numComponents;conent.getComponentCount(); //Get the count
for(int i=0;i
{
aComponent.content.getComponent(i); //Get each component
//to something with it....
}
在for循環(huán)語句中依次檢索content中的每個組件,我們也可以這樣檢索它們:
component[] theComponts=content.getComponents();//Get all components
for(int i=0;j
{
//Do something with theComponets[i]....
}
將組件添加到容器中
存儲在容器中的組件被記錄在Container對象內(nèi)的一個數(shù)組y.當(dāng)目前的數(shù)組與組件樣多時,若再添加組件。數(shù)組的尺寸就要增加。你可以使用方法add()組件添加到容器中。Container類定義了下列4個重載的add()方法版本:
注意,添加一個組件并不替代容器中已有的任何組件。當(dāng)你在給定位置上增加一個組件時。其他的組件將依次騰出空間顯示新的組件。然而,一個組件在同一時刻只能位于個容器中,將一個存在于另一個容器中的組件添加到這個容器中,這個組件將會從原來的容器中刪去。
為了試試將一個組件添加到一個容器中,我們需要知道add()方法中的約束是什么,并查看一下容器中的組件布局是如何管理的。
相關(guān)推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |