Tải bản đầy đủ (.pdf) (13 trang)

Lập trình đồ họa với AWT - Phần 5 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (178.53 KB, 13 trang )

82

Q
Q
u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y


y








Layout

manager:

quản



cách

trình

bày

của

các

GUI

components


trong

một

Container




Các

layout

manager




FlowLayout




BorderLayout




CardLayout





GridLayout




GridBagLayout




Sử

dụng

phương

thức

setLayout()

của

một

Container


để

thay

đổi

layout

83

Q
Q
u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n

n
h
h

b
b
à
à
y
y








FlowLayout






layout

mặc

định


cho

Applet



Panel




Các

thành

phần

được

sắp

xếp

từ

trái

sang


phải,

trên

xuống

dưới




Các

hàm

khởi

tạo




FlowLayout()




FlowLayout(int

alignment)



Alignment



thể



FlowLayout.CENTER,

LEFT,

RIGHT




FlowLayout(int,

int,

int)

84

Q
Q
u

u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y









FlowLayout


import java.awt.*;
import java.awt.event.*;
public class
F
lowLayoutTest
extends
Frame implements WindowListener {
public
FlowLayoutTest(String
title){
super(title);
addWindowListener(this);
setLayout(new
FlowLayout(FlowLayout.
CENTER,
20,

50));

for(int
i = 1; i<15; i++)
add(new

Button("Button"+i));
setS
ize(575,

300);

setVisible(true);

}
public
void

windowClosing(WindowEvent
e){
dispose();
System.exit(0);
}
85

Q
Q
u
u


n
n
l
l
ý

ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y








FlowLayout



public
void

windowActivated(WindowEvent
e){}
public
void

windowClosed(WindowEvent
e){}
public
void

windowIconified(WindowEvent
e){}
public
void

windowDeiconified(W
i
ndowEvent
e){}
public
void
windowDeactivated(Wi
ndowEvent
e){}
public
void


windowOpened(WindowEvent
e){}



public static
void

main(String[]

args)
{
FlowLayoutTest
f
t =
new

FlowLayoutTest("F
l
owLayout
Test");
}
}

86

Q
Q
u
u



n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y









FlowLayout











87

Q
Q
u
u


n
n
l
l
ý
ý


t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y








BorderLayout







layout

mặc

định

cho

Frame,

Window,

Dialog




Các

thành

phần

được

sắp


xếp

trên

5

khu

vực

khác

nhau


NORTH



Đặt



đỉnh

của

conta
i
ner

.


EAST



Đặt

ph
í
a

bên

phả
i

của

conta
i
ner
.
x`


SOUTH




Đặt



phía

dướ
i

của

conta
i
ner
.


WEST



Đặt

ph
í
a

bên


trá
i

của

conta
i
ner
.


CENTER



Đặt



giữa

của

conta
i
ner
.

Để


thêm

một

thành

phần

vào

vùng

‘North’

Button

b1=new

Button(“North

Button”);

//

khai

báo

thành


phần
setLayout(new

BorderLayout());

//

thiết

lập

layout
add(b1,BorderLayout.NORTH);

//

thêm

thành

phần

vào

layout




Khởi


tạo:

BorderLayout(),

BorderLayout(int,

int)

88

Q
Q
u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì

n
n
h
h

b
b
à
à
y
y








BorderLayout






89

Q
Q

u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y









CardLayout




Tự

tìm

hiểu

trong

API

Documentation

90

Q
Q
u
u



n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y









GridLayout




Chia

Container

thành

các

ô

lưới

bằng

nhau




Các

Component


được

đặt

trong

các

ô




Mỗi

ô

lưới

nên

chứa

ít

nhất

một


thành

phần






dụ


GridLayout

l1

=

new

GridLayout(4,

3)




Nế
u
new

GridLayout(0,3) ngh
ĩ
a là ô
c
ó 3
cộ
t,
số
hàng là b
ất

kỳ



Không
được

sử
d

ng
new
GridLayout(0,0);


Các hàm
khở
i
tạ

o:


GridLayout(int), GridLayout(int, int), GridLayout(int, int, int
,int)

91

Q
Q
u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h

h

b
b
à
à
y
y









GridLayout



import java.awt.*;
import java.awt.event.*;
public class GridLayoutTest e
xtends
Frame implements WindowListener {


public GridLa
youtTest(String

title){
super(title);
addWindowListener(this);
setLayout(new
GridLayout(0,

3,

5,

10));

for(int
i = 1; i<15; i++)
add(new
Button("Button"+i));

pack();
setVisible(true);
}

92

Q
Q
u
u


n

n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à
à
y
y










GridLayout



public
void

windowClosing(WindowEvent
e){
dispose();
System.exit(0);
}


public
void

windowActivated(WindowEvent
e){}
public
void

windowClosed(WindowEvent
e){}
public
void

windowIconified(WindowEvent

e){}
public
void

windowDeiconified(W
i
ndowEvent
e){}
public
void
windowDeactivated(Wi
ndowEvent
e){}
public
void

windowOpened(WindowEvent
e){}


public static
void

main(String[]

args)
{
GridLayoutTest
f
t =

new
GridLayoutTest(“GridLayout Test");

}
}

93

Q
Q
u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h

h

b
b
à
à
y
y










GridLayout













94

Q
Q
u
u


n
n
l
l
ý
ý

t
t
r
r
ì
ì
n
n
h
h

b
b
à

à
y
y









GridBagLayout




Tự

đọc


×