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

Chương 6: Lập trình GUI pdf

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 (641.71 KB, 73 trang )

Chương 6: L p trình GUI

GVLT: Tr n Anh Dũng

1


N i dung
GUI là gì?
Gi i thi u thi t k GUI trong java
ð i tư ng khung ch a (Container)
Các thành ph n cơ b n (Component)
B qu n lý trình bày (Layout Manager)
Ví d minh h a

2


Gi i thi u (1)
GUI: Graphic User Interface – mô hình giao ti p ki u
tương tác gi a ng d ng và user d ng ñ h a.
M i ngôn ng h tr cách t o GUI khác nhau:
VB, VC++ dùng d ng drag and drop
C++ địi h i programmer vi t tồn b
GUI.

code đ

t o

Java h tr s n các l p t o GUI cho Programmer s


d ng.
H u h t các ngơn ng l p trình hi n nay ñư c cung c p
các ñ i tư ng ñ h a.
3


Gi i thi u (2)
GUI = Container + Components

Container

Components

4


Gi i thi u (3)
M t thành ph n (component) GUI là m t ñ i tư ng tr c
quan. Ngư i dùng tương tác v i ñ i tư ng này thơng
qua con tr chu t hay bàn phím.
Các thành ph n như là button, label… có th đư c
nhìn th y trên màn hình.
B t kỳ thao tác nào áp d ng ñ n t t c các thành
ph n GUI đ u đư c tìm th y trong l p ñ i tư ng
Component.
ð t o các thành ph n GUI, s
trong gói java.awt

d ng các l p t n t i


5


Gi i thi u v AWT (1)
AWT: Abstract Windowing Toolkit
AWT là m t b các l p trong Java cho phép chúng ta
t o m t GUI và ch p nh n các nh p li u c a ngư i dùng
thơng qua bàn phím và chu t.
AWT là thư vi n n n t ng, cơ s giúp cho chúng ta ti p
c n v i thư vi n m r ng JFC hi u qu hơn.
S d ng:
-

import java.awt.*;

-

import java.awt.event.*;

6


Gi i thi u v AWT (2)
AWT cung c p các item khác nhau ñ t o m t GUI hi u
qu và lôi cu n ngư i s d ng. Các item này có th là:
Container
Component
Trình qu n lý cách trình bày (Layout manager)
ð h a (Graphic) và các tính năng v (draw)
Phơng ch (Font)

S ki n (Event)

7


C u trúc gói AWT
AWTEvent
Font
FontMetrics
Object

Color
Graphics
Component

Container

Panel

Applet

Button

Window

Frame

Label

TextField


Dialog

FileDialog

TextComponent

List

TextArea

Choice
CheckBox

LayoutManager

CheckBoxGroup
Canvas
MenuComponent

Scrollbar

MenuItem

Menu

MenuBar
8



Tham kh o gói awt

9


Container (1)
Container là ñ i tư ng v t ch a hay nh ng đ i tư ng có
kh năng qu n lý và nhóm các đ i tư ng khác l i.
Nh ng ñ i tư ng con thu c thành ph n awt như:
button, checkbox, radio button, scrollbar, list,… ch s
d ng đư c khi ta đưa nó vào khung ch a (container).
Gói java.awt ch a m t l p có tên là Container. L p này
tr c ti p hay gián ti p phát sinh ra hai container ñư c s
d ng ph bi n nh t là Frame và Panel.

10


Container (2)

11


Frame (1)
Khung ch a Frame là m t c a s window
Là l p con c a window
Bao g m m t tiêu ñ và m t ñư ng biên (border) như
các ng d ng windows thông thư ng khác.
Thư ng ñư c s
ng d ng.


d ng ñ t o c a s chính c a các

12


Frame (2)
Frame có th ho t đ ng như m t container hay như m t
thành ph n (component).
Chúng ta có th s d ng m t trong nh ng constructor
sau ñ t o m t frame:
Frame()
Frame(String title)

Các phương th c: Tìm hi u java docs

13


Frame – Ví d
import java.awt.*;
class FrameDemo extends Frame{
public FrameDemo(String title){
super (title);
}
public static void main (String args[]) {
FrameDemo ObjFr =
new FrameDemo("I have been Framed!!!");
ObjFr.setSize(500,500);
ObjFr.setVisible(true);

}
}
14


Panel (1)
ð i tư ng khung ch a ñơn gi n nh t, dùng đ nhóm
các đ i tư ng, thành ph n con l i. M t Panel có th
ch a bên trong m t Panel khác.
M t panel khơng có s n vì th chúng ta c n ph i thêm
nó vào Frame.
Hàm kh i t o
Panel ( )
Panel (LayoutManager)

15


Panel (2)
Panel khơng th đư c nhìn th y tr c ti p.
Do đó, chúng ta c n thêm panel ñ n m t frame.
Vì v y ta c n t o m t frame m i và thêm Panel m i
đư c t o này vào nó.
Tuy nhiên, frame s khơng nhìn th y đư c, và khơng có
kích thư c. Chúng ta s d ng hai phương th c
setSize() và setVisible() đ thi t l p kích thư c và hi n
th frame.

16



Panel – Ví d
import java.awt.*;
class Paneltest extends Panel{
public static void main(String args[])
{
Paneltest p = new Paneltest();
Frame f = new Frame(“Testing a Panel”);
f.add(p);
f.setSize(300,200);
f.setVisible(true);
}
public Paneltest()
{
}
}
17


Panel – Ví d (tt)
Panel(BorderLayout)

java.awt.Panel
Ví d microwave GUI

TextField
Button
12 Button

Panel(GridLayout)


Frame(BorderLayout)

18


Dialog (1)
Là m t c a s d ng h p h i tho i, c a s d ng này
thư ng đư c dùng đ đưa ra thơng báo, hay dùng ñ
l y d li u nh p t ngồi vào thơng qua các đ i tư ng,
thành ph n trên dialog như TextField ch ng h n.
Dialog cũng là m t c a s nhưng khơng đ y ñ
năng như ñ i tư ng khung ch a Frame.

ch c

19


Dialog (2)
Là m t l p con c a l p Window
Tham kh o chi ti t các constructor và các phương th c
trong java docs.
Frame myframe = new Frame(“My frame”);
String title = “Title”;
boolean modal = true;
Dialog dlg = new Dialog(myframe, title, modal);

20



ScrollPanes
Là m t khung ch a tương t khung ch a Panel, nhưng
có thêm 2 thanh trư t giúp ta t ch c và xem ñư c các
ñ i tư ng l n chi m nhi u ch trên màn hình như
nh ng hình nh hay văn b n nhi u dòng.

21


Nguyên t c xây d ng GUI
L a ch n 1 container: Frame, Dialog,…
T o các ñi u khi n: label, button, text areas…
ðưa các ñi u khi n vào vùng ch a
S p x p các ñi u khi n (layout)
Thêm các x lý s ki n (Listeners)
S ñư c gi i thi u trong chương sau

22


Thành ph n - Components
T t c các thành ph n c u t o nên chương trình GUI
đư c g i là component.
Ví d :
Containers,
TextFields, Labels, CheckBoxes, TextAreas
Scrollbars, scrollpanes, dialog

23



Thành ph n - Components
Button

Label

Choice
TextField

Checkbox

Scrollbar
List
TextArea

Button

Checkbox

CheckboxGroup
24


Label (1)
Dùng ñ hi n th chu i
Constructors:
Label();
Label(String);
Label(String, int alignment);

Các phương th c ph bi n:
setFont(Font f);
setText(String);
getText();

25


×