L
L
p
p
t
t
r
r
ì
ì
n
n
h
h
h
h
a
a
v
v
i
i
A
A
W
W
T
T
CAO
Duc
Thong
–
Thanglong
University
2
N
N
i
i
d
d
u
u
n
n
g
g
ng
quan
AWT
Các
thành
phn
AWT
Qun
lý
trình
bày
lý
kin
3
T
T
h
h
v
v
i
i
n
n
A
A
W
W
T
T
AWT
là
vit
t
a
Abstract
Windowing
Toolkit
AWT
cho
phép
o
các
thành
phn
a
AWT
cho
phép
nhn
liu
chut,
bàn
phím
Các
thành
phn
a
n
a
AWT
t
cha
(Container)
Thành
phn
(Component)
Trình
qun
lý
trình
bày
(Layout
Manager)
a
(Graphics),
phông
ch
(Font),
kin
(Event)
4
T
T
h
h
v
v
i
i
n
n
A
A
W
W
T
T
Object
Color
Event
Font
Graphics
Image
Insets
Polygon
Rectangle
Toolk
i
t
MenuComponent
XXXLayout
CheckboxGroup
Component
MenuBar
MenuItem
Menu
Checkbox
MenuItem
5
T
T
h
h
v
v
i
i
n
n
A
A
W
W
T
T
Component
Button
Canvas
AWTException
AWTError
Applet
Checkbox
Choice
Container
Label
List
Scrollbar
TextComponent
Panel
Window
Scroll
Pane
TextArea
TextField
Frame
Dialog
FileDialog
6
C
C
á
á
c
c
t
t
h
h
à
à
n
n
h
h
p
p
h
h
n
n
A
A
W
W
T
T
Component
(thành
phn)
Là
t
i
ng
a
có
th
hin
th
c
trên
màn
hình
và
có
th
ng
tác
i
ngi
dùng
Là
t
abstract
superclass
cho
u
t
các
component
a
AWT
Ví
Component:
button,
checkbox,
scrollbar…
t
phng
thc
n
a
Component
getBackGround():
tr
u
n
a
Component
getBounds():
tr
phm
vi
a
Component
(Rectangle)
getFont():
tr
font
hin
i
a
Component
getForeGround():
tr
màu
a
Component
getHeight():
tr
chiu
cao
a
Component
(pixel,
kiu
int)
7
C
C
á
á
c
c
t
t
h
h
à
à
n
n
h
h
p
p
h
h
n
n
A
A
W
W
T
T
t
phng
thc
n
a
Component
getSize():
tr
kích
thc
a
Component
(Dimenstion)
getWidth():
tr
chiu
ng
a
Component
(int)
getX(),
getY():
tr
a
hin
i
isEnable():
boolean
paint(Graphics):
chu
trách
nhim
hin
th
component
repaint():
c
i
i
giao
din
cho
component
setVisible(boolean):
hin
th
component
8
C
C
á
á
c
c
t
t
h
h
à
à
n
n
h
h
p
p
h
h
n
n
A
A
W
W
T
T
Container
(vt
cha)
Cha
trong
gói
java.awt
Là
vùng
có
th
t
các
thành
phn
giao
din
t
loi
Container:
Panel,
Frame,
Dialog
Có
t
Component
có
kh
ng
cha
các
Component
khác
thêm
t
Component
vào
Container
ta
ng
phng
thc
add(Component)
Container
ng
t
“layout
manager”
p
p
các
Component
9
C
C
á
á
c
c
t
t
h
h
à
à
n
n
h
h
p
p
h
h
n
n
A
A
W
W
T
T
Frame
Tha
Window
nên
ng
là
t
Container
Frame
a
là
Component
a
là
Container
o
Frame
Frame()
Frame(String
title)
Ví
10
C
C
á
á
c
c
t
t
h
h
à
à
n
n
h
h
p
p
h
h
n
n
A
A
W
W
T
T
Frame
import java.awt.*;
public class UseLessFrame
extends
Frame {
public
UseLessFrame(){
super("Useless
Frame");
setS
ize(300,200);
setVisible(true);
}
public static
void
main(String[]
args)
{
UseLessFrame frame =
new
UseLessFrame();
}
}
11
C
C
á
á
c
c
t
t
h
h
à
à
n
n
h
h
p
p
h
h
n
n
A
A
W
W
T
T
Frame
12
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
kin
là
gì
Khi
ngi
dùng
thc
hin
t
hành
ng
trên
GUI,
t
kin
c
sinh
ra.
Các
kin
là
các
i
ng
mô
nhng
gì
ã
y
ra
i
tác
ng
a
ngi
dùng
o
ra
nhng
loi
kin
khác
nhau
Kích
chu
t
Button
ActionEvent
EventHandler
actionP
erformed(ActionEvent
e){
//Do
something
}
13
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Event
Sources
Là
ngun
sinh
ra
kin.
kin
c
sinh
ra
i
ng
t
object,
ví
ActionEvent.
Event
Handlers
Event
handler
là
t
phng
thc,
nó
nhn
t
i
ng
event,
gii
mã
và
lý
các
ng
tác
i
ngi
dùng
p
cha
các
phng
thc
(event
handler)
c
i
là
p
nghe
kin
(listener)
t
p
nghe
có
th
lý
t
kin
nào
ó,
ngun
sinh
ra
kin
n
phi
ng
ký
p
nghe
t
ngun
sinh
ra
kin
có
th
có
nhiu
p
nghe
t
p
mun
là
listener
phi
implement
t
giao
tip
thích
p
14
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Ví
lý
kin
import java.awt.*;
import java.awt.event.*;
class EventTest e
xtends
Frame implement
s
ActionListener {
Label lab =
new
Label("Enter a
number");
TextField t
f1
=
new
TextField(5);
TextField t
f2
=
new
TextField(5);
Button btnResult =
new
Button("Dou
ble i
s");
Button ext = ne
w
Button("exit");
public EventTest(String title) {
super(title);
setLayout(new
FlowLayout());
btnResult.addActionListener(this);
ext.addActionListener(this);
add(lab);
add(tf1);
add(btnR
esult);
add(tf2);
a
dd(ext);
}
15
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Ví
lý
kin
public
void
actionPerformed(ActionEvent ae) {
if
(ae.getSource()
== btnResult) {
int
num
=
Integer.parseInt(tf1.getText())
*
2;
tf2.
setText(St
ring.valueOf(num));
}
if
(ae.getSource()
== ext) {
System.exit(0);
}
}
public static
void
main(String a
rgs[])
{
EventTest t =
new
EventTest("Event
handling");
t.setS
ize(300,
200);
t.setVisible(true);
}
}
16
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Ví
lý
kin
17
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Các
loi
kin
(Event)
java.util.EventObject
java.awt.AWTEvent
ActionEvent
java.awt.event
AdjustmentEvent
ComponentEvent
ItemEvent
FocusEvent
InputEvent
ContainerEvent
KeyEvent
MouseEvent
TextEvent
WindowEvent
18
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Mô
kin
19
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Các
loi
Listener
ActionListener
AdjustmentListener
E
v
ContainerListener
e
n
FocusListener
t
L
i
ItemListener
s
t
KeyListener
e
n
MouseListener
e
r
MouseMotionListener
TextListener
WindowListener
20
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
ng
ký
i
ng
nghe
add
+
loi
kin
+
Listener(
kin)
Ví
i
nút
Button
addActionListener(ActionListener)
Ví
i
danh
sách
List
addActionListener(A
ctionListener)
addItemListener(Ite
mListener)
21
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Cài
t
qun
lý
kin
Xác
nh
i
ng
gây
ra
kin
(source)
Xác
nh
kin
có
th
y
ra
ng
ng
i
i
ng
mà
ta
n
qun
lý
(object)
Xác
nh
i
ng
“nghe”
(listener)
và
cài
t
các
phng
thc
ng
ng
ng
ký
i
ng
nghe
cho
i
ng
gây
ra
kin
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
Ví
qun
lý
kin
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestButton {
private Frame f;
private Button b;
public TestButton(){
f
=
new
Frame("Test");
b
=
new
Button("Press
me");
b.setActionCommand("ButtonPressed");
}
public
void
init(){
b.addActionL
istener(new
ButtonHandler());
f.add(b,
BorderLayout.CENTER);
f.pack();
f.setVisible(true);
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
}
22
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
23
Ví
qun
lý
kin
public static
void
main(String[]
args){
TestButton test =
new
TestButton();
test.init
(
);
}
}
class ButtonHandler implements ActionListener{
public
void
actionPerformed(ActionEvent e) {
System.out.println("Button's
command is: "+
e.getActionCommand());
}
}
X
X
l
l
ý
ý
c
c
á
á
c
c
s
s
k
k
i
i
n
n
24
Ví
qun
lý
kin
Button's
command is:
ButtonPressed
Button's
command is:
ButtonPressed
Button's
command is:
ButtonPressed