java 5 2_java 图形界面5.2
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
布局管理器主要包括:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout
例5.3
import?java.awt.*;
public?class?ExGui{
private?Frame?f;
private?Button?b1;
private?Button?b2;
public?static?void?main(String?args[]){
ExGui?that?=?new?ExGui();
that.go();
}
public?void?go(){
f?=?new?Frame("GUI?example");
f.setLayout(new?FlowLayout());
//設置布局管理器為FlowLayout
b1?=?new?Button("Press?Me");
//按鈕上顯示字符"Press?Me"
b2?=?new?Button("Don't?Press?Me");
f.add(b1);
f.add(b2);
f.pack();
//緊湊排列,其作用相當于setSize(),即讓窗口
盡量小,小到剛剛能夠包容住b1、b2兩個按鈕
f.setVisible(true);
}
}
查看運行結果
1.?FlowLayout
FlowLayout?是Panel,Applet的缺省布局管理器。其組件的放置規律是從上到下、從左到右進行放置,如果容器足夠寬,第一個組件先添加到容器中第一行的最左邊,后續的組件依次添加到上一個組件的右邊,如果當前行已放置不下該組件,則放置到下一行的最左邊。
構造方法主要下面幾種:
FlowLayout(FlowLayout.RIGHT,20,40);
/*第一個參數表示組件的對齊方式,指組件在這一行中的位置是居中對齊、居右對齊還是居左對齊,第二個參數是組件之間的橫向間隔,第三個參數是組件之間的縱向間隔,單位是象素。*/
FlowLayout(FlowLayout.LEFT);
//居左對齊,橫向間隔和縱向間隔都是缺省值5個象素
FlowLayout();
//缺省的對齊方式居中對齊,橫向間隔和縱向間隔都是缺省值5個象素
例5.4
import?java.awt.*;
public?class?myButtons{
public?static?void?main(String?args[])
{
Frame?f?=?new?Frame();
f.setLayout(new?FlowLayout());
Button?button1?=?new?Button("Ok");
Button?button2?=?new?Button("Open");
Button?button3?=?new?Button("Close");
f.add(button1);
f.add(button2);
f.add(button3);
f.setSize(300,100);
f.setVisible(true);
}
}
查看運行結果
當容器的大小發生變化時,用FlowLayout管理的組件會發生變化,其變化規律是:組件的大小不變,但是相對位置會發生變化。例如上圖中有三個按鈕都處于同一行,但是如果把該窗口變窄,窄到剛好能夠放下一個按鈕,則第二個按鈕將折到第二行,第三個按鈕將折到第三行。按鈕"Open"本來在按鈕"OK"的右邊,但是現在跑到了下面,所以說"組件的大小不變,但是相對位置會發生變化"。
2.?BorderLayout
BorderLayout?是Window,Frame和Dialog的缺省布局管理器。BorderLayout布局管理器把容器分成5個區域:North,South,East,West和Center,每個區域只能放置一個組件。各個區域的位置及大小如下圖所示:
例5.5
import?java.awt.*;
public?class?buttonDir{
public?static?void?main(String?args[]){
總結
以上是生活随笔為你收集整理的java 5 2_java 图形界面5.2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java创建对象的过程_Java创建对象
- 下一篇: python控制单片机keil_PCF8