L p trình
h a v i AWT
CAO Duc Thong – Thanglong University
[email protected]
N i dung
ng quan
AWT
Các thành ph n AWT
Qu n lý trình bày
lý
ki n
2
Th vi nAWT
AWT là vi t
t
AWT cho phép
a Abstract Windowing Toolkit
o các thành ph n
AWT cho phép nh n
Các thành ph n
li u
a
a
chu t, bàn phím
n
a AWT
t ch a (Container)
Thành ph n (Component)
Trình qu n lý trình bày (Layout Manager)
a (Graphics), phông ch (Font),
ki n (Event)
3
Th vi nAWT
Object
Color
Image
Toolkit
Event
Insets
Font
Polygon
Graphics
Rectangle
MenuComponent
MenuBar
XXXLayout
MenuItem
CheckboxGroup
Menu
Component
Checkbox
MenuItem
4
Th vi nAWT
Component
AWTException
AWTError
Button
Canvas
Checkbox
Applet
Panel
Frame
Choice
Window
Dialog
Container
ScrollPane
Label
FileDialog
List
Scrollbar
TextComponent
TextArea
TextField
5
Cácthànhph nAWT
Component (thành ph n)
Là
t
có th
Là
t abstract superclass cho
Ví
t
i
ng
a có th hi n th
ng tác i ng i dùng
u
c trên màn hình và
t các component
a AWT
Component: button, checkbox, scrollbar…
ph
ng th c
n
getBackGround(): tr
u
getBounds(): tr
getFont(): tr
ph m vi
font hi n
getForeGround(): tr
getHeight(): tr
n
a Component
a Component (Rectangle)
i
màu
chi u cao
a Component
a Component
a Component
a Component (pixel, ki u int)
6
Cácthànhph nAWT
t
ph
ng th c
getSize(): tr
n
kích th
getWidth(): tr
c
chi u
getX(), getY(): tr
a
a Component
a Component (Dimenstion)
ng
a Component (int)
hi n
i
isEnable(): boolean
paint(Graphics): ch u trách nhi m hi n th component
repaint():
c
i
i giao di n cho component
setVisible(boolean): hi n th component
7
Cácthànhph nAWT
Container (v t ch a)
Ch a trong gói java.awt
Là vùng có th
t
Có
t các thành ph n giao di n
lo i Container: Panel, Frame, Dialog
t Component có kh
ng ch a các Component khác
thêm
t Component vào Container ta
add(Component)
Container
Component
ng
t “layout manager”
ng ph
p
ng th c
p các
8
Cácthànhph nAWT
Frame
Th a
Window nên
Frame
a là Component
ng là
t Container
a là Container
o Frame
Frame()
Frame(String title)
Ví
9
Cácthànhph nAWT
Frame
import java.awt.*;
public class UseLessFrame extends Frame {
public UseLessFrame(){
super("Useless Frame");
setSize(300,200);
setVisible(true);
}
public static void main(String[] args) {
UseLessFrame frame = new UseLessFrame();
}
}
10
Cácthànhph nAWT
Frame
11
X lý cács ki n
ki n là gì
Khi ng
i dùng th c hi n
c sinh ra.
Các
ki n là các
i tác
nhau
ng
a ng
i
t hành
ng mô
i dùng
ng trên GUI,
nh ng gì ã
o ra nh ng lo i
t
ki n
y ra
ki n khác
Kích chu t
Button
EventHandler
ActionEvent
actionPerformed(ActionEvent e){
//Do something
}
12
X lý cács ki n
Là ngu n sinh ra
ki n.
Event Sources
ki n
c sinh ra
i
ng
t object, ví
ActionEvent.
Event Handlers
Event handler là
event, gi i mã và
t ph ng th c, nó nh n
lý các
ng tác i ng
p ch a các ph ng th c (event handler)
ki n (listener)
t
ki n
p nghe có th
n ph i ng ký
t ngu n sinh ra
t
lý
t
p nghe
t i
i dùng
c
i là
ng
p nghe
ki n nào ó, ngu n sinh ra
ki n có th có nhi u
p mu n là listener ph i implement
p nghe
t giao ti p thích
p
13
X lý cács ki n
Ví
lý
ki n
import java.awt.*;
import java.awt.event.*;
class EventTest extends Frame implements ActionListener {
Label lab = new Label("Enter a number");
TextField tf1 = new TextField(5);
TextField tf2 = new TextField(5);
Button btnResult = new Button("Double is");
Button ext = new Button("exit");
public EventTest(String title) {
super(title);
setLayout(new FlowLayout());
btnResult.addActionListener(this);
ext.addActionListener(this);
add(lab); add(tf1); add(btnResult); add(tf2); add(ext);
}
14
X lý cács ki n
Ví
lý
ki n
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == btnResult) {
int num = Integer.parseInt(tf1.getText()) * 2;
tf2.setText(String.valueOf(num));
}
if (ae.getSource() == ext) {
System.exit(0);
}
}
public static void main(String args[]) {
EventTest t = new EventTest("Event handling");
t.setSize(300, 200);
t.setVisible(true);
}
}
15
X lý cács ki n
Ví
lý
ki n
16
X lý cács ki n
Các lo i
ki n (Event
java.util.EventObject
java.awt.AWTEvent
java.awt.event
ActionEvent
AdjustmentEvent
FocusEvent
ComponentEvent
InputEvent
ItemEvent
ContainerEvent
TextEvent
WindowEvent
KeyEvent
MouseEvent
17
X lý cács ki n
Mô
ki n
18
X lý cács ki n
ActionListener
Các lo i Listener
AdjustmentListener
E
v
e
n
t
L
i
s
t
e
n
e
r
ContainerListener
FocusListener
ItemListener
KeyListener
MouseListener
MouseMotionListener
TextListener
WindowListener
19
X lý cács ki n
Ví
ng ký
i
add + lo i
Ví
List
ng nghe
ki n + Listener(
i danh sách
ki n)
i nút Button
addActionListener(ActionListener)
addActionListener(A
ctionListener)
addItemListener(Ite
mListener)
20