JavaSwing學習日記(二)
Container(內容面板)
我們學會了窗口的創建,我們還需要學會創建一個內容面板,才能將我們需要的內容放置到顯示
圖示:
內容面板的創建
//從已創建好的jFrame窗口中取出一個內容面板
Container container = myJFrame.getContentPane();
//創建一個沒有與窗口關聯的內容面板
Container container = new Container();
說明:使用第一個方法創建的container是已經與創建好的窗口關聯起來了,屆時將關聯的窗口顯示出來,這個內容面板也會顯示出來。第二個由於沒有關聯,則不會顯示
內容面板的佈局設置
//流佈局,從左到右依次排列,第一行排完自動排到下一行
container.setLayout(new FlowLayout());
//邊界佈局,與窗口的四個邊界綁定
container.setLayout(new BroderLayout);
//卡片佈局,從上到下的卡片,一個顯示完到一個
container.setLayout(newCardLayout());
佈局類型以後再細說,現在只是隨便補充一下
內容面板添加控件
//該方法是用於添加控件至內容面板,comp是控件
//container.add(Component comp);具體使用方法:
container.add(new JLabel("我是標籤"));
內容面板例子
package test.demo01;
import javax.swing.*;
import java.awt.*;
public class swingDemo1 {
public static void main(String[] args) {
//利用SwingUtilities開啓線程
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createGUI();
}
});
}
private static void createGUI() {
//創建一個窗口
//可以使用構造函數new JFrame(String args); 創建標題
JFrame jFrame = new JFrame("這是標題");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//設置窗口大小
jFrame.setSize(300,400);
//內容面板,從已創建好的jFrame窗口中取出一個內容面板
Container container = jFrame.getContentPane();
//設置爲流佈局
container.setLayout(new FlowLayout());
//像內容面板添加控件,將設置好的控件添加到內容面板中
container.add( new JLabel("這是文本標籤"););
//顯示窗口
jFrame.setVisible(true);
}
}
運行效果