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

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

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 (344.58 KB, 14 trang )

12

X
X


l
l
ý
ý

c
c
á
á
c
c
s
s


k
k
i
i


n
n










Sự

kiện








Khi

người

dùng

thực

hiện

một


hành

động

trên

GUI,

một

sự

kiện

sẽ

được

sinh

ra.




Các

sự

kiện




các

đối

tượng



tả

những



đã

xảy

ra




Mỗi

tác


động

của

người

dùng

sẽ

tạo

ra

những

loại

sự

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

sự

kiện.




Sự

kiện

được

sinh


ra

dưới

dạng

một

object,



dụ

ActionEvent.




Event

Handlers




Event

handler




một

phương

thức,



nhận

về

một

đối

tượng
event,

giải





xử




các

tương

tác

với

người

dùng




Lớp

chứa

các

phương

thức

(event

handler)


được

gọi



lớp

nghe

sự

kiện

(listener)




Để

một

lớp

nghe




thể

xử



một

sự

kiện

nào

đó,

nguồn

sinh

ra

sự

kiện

cần

phải


đăng



lớp

nghe




Một

nguồn

sinh

ra

sự

kiện



thể



nhiều


lớp

nghe




Một

lớp

muốn



listener

phải

implement

một

giao

tiếp

thích


hợp

14

X
X


l
l
ý
ý

c
c
á
á
c
c
s
s


k
k
i
i


n

n











dụ

về

xử



sự

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











dụ

về

xử




sự

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












dụ

về

xử



sự

kiện





17

X
X


l
l
ý
ý


c
c
á
á
c
c
s
s


k
k
i
i


n
n









Các

loại


sự

kiện

(Eve
nt)



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














tả

sự

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

tượng

nghe





add

+

loại

sự

kiện

+

Listener(

sự

kiện)






dụ

với

nút

Button

addActionListener(ActionListener)





dụ

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

quản



sự

ki
ện



Xác

định

đối

tượng

sẽ

gây

ra

sự


kiện

(source)




Xác

định

sự

kiện



thể

xẩy

ra

tương

ứng

với


đối

tượng



ta

cần
quản



(object)




Xác

định

đối

tượng

“nghe”

(listener)




cài

đặt

các

phương

thức
tương

ứng




Đăng



đối

tượng

nghe

cho


đối

tượng

gây

ra

sự

kiện

X
X


l
l
ý
ý

c
c
á
á
c
c
s
s



k
k
i
i


n
n











dụ

về

quản



sự


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











dụ

về

quản



sự

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











dụ

về

quản



sự

kiện













Button's
command is:
ButtonPressed

Button's
command is:
ButtonPressed

Button's
command is:
ButtonPressed

×