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

LẬP TRÌNH ĐỒ HỌA VỚI AWT

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 (747.45 KB, 136 trang )





















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

phn


AWT




Qun



trình

bày










kin

3
T
T
h
h



v
v
i
i


n
n
A
A
W
W
T
T








AWT



vit

t


a

Abstract

Windowing

Toolkit




AWT

cho

phép

o

các

thành

phn



a





AWT

cho

phép

nhn



liu



chut,

bàn

phím




Các

thành


phn



a



n

a

AWT




t

cha

(Container)




Thành

phn


(Component)




Trình

qun



trình

bày

(Layout

Manager)






a

(Graphics),

phông


ch

(Font),



kin

(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

phn)






t

i

ng



a



th


hin

th

c

trên

màn

hình





th

ng

tác

i

ngi

dùng







t

abstract

superclass

cho

u

t

các

component

a

AWT











Component:

button,

checkbox,

scrollbar…




t



phng

thc



n

a

Component





getBackGround():

tr



u

n

a

Component




getBounds():

tr



phm

vi


a

Component

(Rectangle)




getFont():

tr



font

hin

i

a

Component




getForeGround():


tr



màu



a

Component




getHeight():

tr



chiu

cao

a

Component

(pixel,


kiu

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



phng

thc



n

a

Component





getSize():

tr



kích

thc

a

Component

(Dimenstion)




getWidth():

tr



chiu


ng

a

Component

(int)




getX(),

getY():

tr



a



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

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

(vt

cha)




Cha

trong

gói

java.awt






vùng




th

t

các

thành

phn

giao

din




t



loi

Container:

Panel,

Frame,

Dialog







t

Component



kh

ng

cha

các

Component

khác






thêm


t

Component

vào

Container

ta



ng

phng

thc
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




Tha






Window

nên

ng



t

Container




Frame

a



Component

a




Container




o

Frame




Frame()




Frame(String

title)









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












kin








Khi

ngi

dùng

thc

hin

t

hành

ng


trên

GUI,

t



kin



c

sinh

ra.




Các



kin



các


i

ng





nhng



ã

y

ra




i

tác

ng

a


ngi

dùng



o

ra

nhng

loi



kin

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







ngun

sinh

ra



kin.






kin

c

sinh

ra

i

ng


t

object,





ActionEvent.




Event

Handlers




Event

handler



t

phng


thc,



nhn



t

i

ng
event,

gii









các

ng


tác

i

ngi

dùng




p

cha

các

phng

thc

(event

handler)

c

i




p

nghe



kin

(listener)






t

p

nghe



th






t



kin

nào

ó,

ngun

sinh

ra



kin

n

phi

ng



p


nghe




t

ngun

sinh

ra



kin



th



nhiu

p

nghe





t

p

mun



listener

phi

implement

t

giao

tip

thích

p

14
X
X



l
l
ý
ý
c
c
á
á
c
c
s
s


k
k
i
i


n
n






















kin



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






















kin



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






















kin





17
X
X


l
l
ý
ý
c
c
á
á
c
c
s
s


k
k
i

i


n
n









Các

loi



kin

(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

















kin


19
X

X


l
l
ý
ý
c
c
á
á
c
c
s
s


k
k
i
i


n
n










Các

loi

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




i

ng

nghe




add

+

loi



kin

+

Listener(



kin)









i

nút

Button
addActionListener(ActionListener)







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

qun





kin



Xác

nh

i

ng




gây

ra



kin

(source)




Xác

nh



kin



th

y

ra


ng

ng

i

i

ng



ta

n
qun



(object)




Xác

nh

i


ng

“nghe”

(listener)



cài

t

các

phng

thc
ng

ng




ng



i


ng

nghe

cho

i

ng

gây

ra



kin

X
X


l
l
ý
ý
c
c
á

á
c
c
s
s


k
k
i
i


n
n
















qun





kin



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















qun






kin



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















qun





kin













Button's
command is:
ButtonPressed

Button's
command is:
ButtonPressed

Button's
command is:
ButtonPressed

×