1
2/27/2012
1
THIT KGIAO DIN NGƯỜI NG
Th.SNguynThMai Trang
Chương 5: Thiếtkếgiaodinngườidùng
2
MC TIÊU
lChươngycungcpchosinhvnnhngkiến
thccơbnđể xâydnggiaodin(Graphic User
Interface -GUI) cachươngtrình ngdngbng
ngônngjava, bao gm:
Nhngnguyêntcthiếtkếgiaodin.
Nhngthưvin, góixâydnggiaodin: gmnhnglp
(class), nhnggiaotiếp(interface) qunlýskin
nhngthànhphn(components) xâydnggiaodin
ngườidùng.
Bqunlýtrìnhbày(layout managers)
Xlýskin
Chương 5: Thiếtkếgiaodinngườidùng
3
NI DUNG
lGiithiuthưvinawt
lCáckinimcơbn
lThiếtkếgiaodin
lXlýskin
Chương 5: Thiếtkếgiaodinngườidùng
4
Thưvinawt
lLàbthưvindùng để xâydnggiaodinngười
ngchomtchươngtrình ngdng đầyđủ
cácthànhphncơbnnhư: Label, Button,
Checkbox, Radiobutton, Choice, List, Text Field,
Text Area, Scrollbar, Menu, Frame
2
Chương 5: Thiếtkếgiaodinngườidùng
5
Cáckháinimcơbn
lComponent
Component làmtđốitượngcóbiudinđồ hađược
hinthtrênmànhìnhmàngườidùngcóthtươngtác
được. Víd: nútnhn(button), ô nhpliu(textbox),
danhsách(listbox),…
lContainer
đốitượngcóthchacác đốitượngkhác
lPanel
lFrame
lDialog
lScrollPanes
Chương 5: Thiếtkếgiaodinngườidùng
6
Cáckháinimcơbn
lLayout Manager
Qunlýcáchtrìnhbàycác đốitượng, bao gm
lFlowLayout: Spxếpcác đốitượng ttráiqua phi
ttrênxungdưới. Các đốitượng đềuginguyênkích
thướccamình.
lBorderLayout: Các đốitượng đượcđặttheocác đường
vincakhungchatheoccnh West, East, South,
North Center
lGridLayout: Tomtkhunglướivôhìnhvicô bng
nhau. Các đốitượngsđặtvakíchthướcvitngô đó.
Thtspxếpcũngttráiqua phivàttrênxung
dưới
Chương 5: Thiếtkếgiaodinngườidùng
7
Cáckháinimcơbn
lLayout Manager (tt)
lGridBagLayout: TươngtnhưGridLayout, tuynhiênkích
thướccác đốitượngkhôngnhtthiếtphivavi1 ô
cóthlà2, 3 ô hay nhiuhơntùytheocngbuc
tachđịnhthôngqua đốitượngGridBagConstraint.
lNull Layout: Cáchtrìnhbàytdo.
Chương 5: Thiếtkếgiaodinngườidùng
8
LpComponent
lThiếtlpvtrívàkíchthướcđốitượng
void setBounds( intx, inty, intwidth, intheight )
void setBounds( Rectangle rec)
void setLocation( intx, inty )
void setLocation( Point pt)·
void setSize( intwidth, intheight)
void setSize( Dimension dim )
Rectangle getBounds()
booleancontains( intx, inty)
booleancontains( Point pt )
3
Chương 5: Thiếtkếgiaodinngườidùng
9
LpComponent
lThiếtlpvtrívàkíchthướcđốitượng
Víd
lMyButton.setSize(newDimension(20, 10));
lMyButton.setLocation(newPoint(10, 10));
lMyButton.setBounds(10, 10, 20, 10);
Chương 5: Thiếtkếgiaodinngườidùng
10
LpComponent (tt)
lThiếtlpbmthinthcađốitượng
void setBackground( Color c ): màunn
void setForeground( Color c ): màukhungvin
void setFont( Font f ): font ch
void setCursor( Cursor cr): con trchut
lThiếtlpchếđộ hinthcho đốitượng
void setEnabled( booleanflag): vôhiu/ huhiu
void setVisible( booleanflag): n/ hinth
Chương 5: Thiếtkếgiaodinngườidùng
11
LpComponent (tt)
lMtsđốitượngthuclpComponent
Button
Checkbox·
Container
Label
List·
Scrollbar·
TextComponent
lTextField
lTextArea,
Chương 5: Thiếtkếgiaodinngườidùng
12
NI DUNG
lGiithiuthưvinawt
lCáckinimcơbn
lThiếtkếgiaodin
lXlýskin
4
Chương 5: Thiếtkếgiaodinngườidùng
13
Tocas
lThchinqua cácbước
TođốitượngFrame
Xác địnhkíchthướccaFrame
HinthFrame trênmànhình
Chương 5: Thiếtkếgiaodinngườidùng
14
Tomenu
lSdngcáclpMenuBar, Menu, MenuItem,
MenuShortcut.
Chương 5: Thiếtkếgiaodinngườidùng
15
Thêmcáccomponent ocontainer
lSdngphươngthcadd
Chương 5: Thiếtkếgiaodinngườidùng
16
Trìnhbàycáccomponent
lFlowLayout: Đốivimtcontainer trìnhbàytheo
kiuFlowLayoutthì:
Cáccomponent đượcspxếptheothtttráisang
phivàttrênxungdưới.
Cókíchthướcnhưmongmun.
NếuchiurngcaContainer không đủ chchocác
component thìcngtđộngtoramtdòngmi.
Thường đượcng đđể spxếpcácbuttontrong1
panel.
Cóthểđiuchnhkhongcáchgiacáccomponent.
5
Chương 5: Thiếtkếgiaodinngườidùng
17
Trìnhbàycáccomponent
lFlowLayout(tt):
Chương 5: Thiếtkếgiaodinngườidùng
18
BorderLayout
lKhungchađượcchialàm5 vùng: NORTH, SOUTH,
WEST, EAST vàCENTER, chophépspxếpvàthay đổi
kíchthướccanhngcomponents chatrongnósaocho
vavi5 vùngtrên
lKhôngcnphigncomponent vàochottccácvùng
lCáccomponent vùngNORTH vàSOUTH cóchiucao
tùyý nhưngcóchiurng đúngbngchiurngvùng
cha.
lCáccomponent vùngEAST vàWEST cóchiurngtùyý
nhưngcóchiucao đúngbngchiucaovùngcha.
lCáccomponent vùngCENTER cóchiucaovàchiu
rngphthucvàocácvùngxungquanh.
Chương 5: Thiếtkếgiaodinngườidùng
19
BorderLayout
Chương 5: Thiếtkếgiaodinngườidùng
20
GridLayout
lBtrìnhbàytomtkhunglướivôhìnhvicácô
bngnhau.
lCác đốitượngsđặtvakíchthướcvitngô
đó. Thtspxếpttiqua phivàttrên
xungdưới.