SÁCH KÈM THEO ĐĨA CD
1
TẠI PHÒNG NGHE NHÌN
T
/
#
N g ô n n g ữ l ậ p t r ì n h J a v a ( J D K 1.4)
#
Java v à d ồ h ọ a x ử lý ả n h
*
Java Applet, A W Tv à Java2D
#
Lập trình ứng dụng với JFC
Á
N H À X U Ấ T B Ả NL Á O Đ Ộ N G X ÃH Ộ I
/
ì
P
Ì
Số hóa bởi Trung tâm Học liệu – ĐHTN
P H Ư Ơ N G L A N (Chủ
MK.PUB H O À N G Đ Ứ C
a
biên)
H Ả I
v
a
T
TRUNG TẤM HỌC
P
UZh
N H À XUẤT B Ả N L A O Đ Ô N G XÃ
Số hóa bởi Trung tâm Học liệu – ĐHTN
Á
HÔI
Ì
Số hóa bởi Trung tâm Học liệu – ĐHTN
L Ờ I
N Ó I Đ Ầ U
C h à o m ừ n g b ạ n đ ã đ ế n v ớ i giáo t r ì n h "Java" t ậ p 1. K h i b ạ n c ầ m
quyển s á c h n à y trong tay có l ẽ Java đ ã t r ả i qua m ộ t bước t i ế n k h á d à i ,
t h ă n g t r ầ m v ớ i đủ l ờ i n h ậ n x é t . B ạ n b i ế t gì v ề Java? M ộ t n g ô n n g ữ n ổ i
tiếng? m ộ t công nghệ hay m ộ t h ệ điều h à n h ? D ù n g cho I n t e r n e t hay
mạng? Java n g à y nay đ ã và đ a n g l à m được những gì? So với n h ữ n g công
n g h ệ của Microsoít n h ư . N É T , Visual Basic, Visual c # , Web Services
Java có l ợ i t h ê c ạ n h t r a n h hay k h ô n g ?
C á c h đ â y 5 n ă m (1998) c h ú n g tôi l ầ n đ ầ u t i ê n đ ã t i ế p c ậ n và giới
t h i ệ u giáo t r ì n h l ậ p t r ì n h Java v ớ i các b ạ n (cùng với tựa đ ề của quyển
s á c h n à y ) . Lúc đó Java đ a n g còn ở p h i ê n b ả n 1.1 v à phôi t h a i ở p h i ê n
b ả n 1.2 S D K . Java k h ô n g thay đ ổ i n h i ề u n ế u chỉ n h ậ n x é t qua s ố p h i ê n
bản (version). P h i ê n b ả n m ớ i n h á t m à các b ạ n sẽ cùng c h ú n g tôi t i ế p c ậ n
trong giáo t r ì n h n à y là 1.4. Tuy n h i ê n , m ỗ i s ố p h i ê n b ả n thay đ ổ i của
Java là m ộ t cuộc cách m ạ n g r ấ t l ớ n , b ạ n có t h ể h ì n h dung n ó n h ư m ộ t
cuộc cách m ạ n g chuyển đ ổ i giữa Windows 3.1 l ê n Windovvs 95 hay t ừ
Windows 95 l ê n Windows NT/2000 hoặc XP.
T r o n g l ầ n xuất b ả n n à y , b ạ n sẽ c ù n g c h ú n g tôi t i ế p c ậ n m ộ t sức
s ô n g m ớ i của Java p h i ê n b ả n 1.4. Đ ã có n h ữ n g thay đ ổ i r ấ t n h i ề u v à r ấ t
lớn v ề k i ê n t r ú c của Java. Có t h ể những gì b ạ n b i ế t về Java trước d â y
cũng đ ã đ ế n lúc c ầ n xem x é t l ạ i . V ớ i Java, có những công n g h ệ tưởng
n h ư l à t r á i t i m v à sức sống trước đ â y nay đ ã l u mờ, c h ẳ n g h ạ n n h ư
Applet. Applet là những m ầ u ứng dụng n h ỏ có k h ả n ă n g chạy t r o n g t r ì n h
duyệt v à đ ã từng đưa Java l ê n đ ỉ n h cao của những n ă m cuối t h ế k ỷ 20,
đầu t h ế k ỷ 2 1 . T h ế n h ư n g giờ đ â y ( c h í n h x á c là ở t h ờ i đ i ể m n à y 2003)
Applet í t còn được quan t â m đ ế n do sự p h á t t r i ể n v à h ỗ t r ợ q u á m ạ n h m ẽ
của những n g ô n ngữ script n h ư Java Script ngay trong t r ì n h duyệt Web.
Applet v ẫ n còn được sử dụng t r o n g t r ì n h duyệt n h ư n g ở d ạ n g plug-in chứ
k h ô n g còn được h ỗ t r ợ mặc đ ị n h bởi t r ì n h duyệt n h ư ban đ ầ u nữa. Java
Applet mang m ộ t phong c á c h v à đ ị n h hướng k h á c , đó là n g h i ê n g v ề h ồ
trợ cho ứng dụng Web p h í a client chạy t r ê n m ạ n g I n t r a n e t n h i ề u hem là
ứng dụng chạy trực t i ế p t r ê n t r ì n h duyệt t h ô n g qua k ế t nôi I n t e r n e t . T ạ i
sao? C â u t r ả l ờ i r ấ t đ ơ n g i ả n , Microsoft k h ô n g muốn có Java, n h ư n g Sun
System (cha đ ẻ của Java) đ ã đưa Java vượt qua k h ó k h ă n t r ở n ê n u y ể n
chuyển v à hữu dụng h ơ n . Java đ a n g v à đủ sức cạnh t r a n h v ớ i t ấ t cả công
n g h ệ m à M i c r o s o í l đ a n g t h á c h thức t h ế giới.
Còn n h ữ n g gì thay đ ổ i t r o n g p h i ê n b ả n 1.4 của Java? R ấ t n h i ề u
bạn ạ! Đó l à t á t cả những gì m à c h ú n g ta sẽ n g h i ê n cứu và học h ỏ i t r o n g
suốt bộ giáo t r ì n h n à y .
Số hóa bởi Trung tâm Học liệu – ĐHTN
L Ờ I
N G Ỏ
K í n h t h ư a quý B ạ n đọc gần xa, Ban xuất b á n M K . P U B trước hét
x i n bày tó lòng b i ế t ơn và n i ề m v i n h h ạ n h trước n h i ệ t t ì n h của đ ó n g đáo
B ạ n đọc đ ố i với tủ s á c h M K . P U B t r o n g t h ờ i gian qua.
K h ấ u hiệu của c h ú n g tòi là:
* Lao động khoa học n g h i ê m túc.
* Chất lượng và n g à y c à n g chất lượng h ơ n .
* T ấ t cả vì B ạ n đọc.
Rất nhiều B ạ n đọc đ ã gửi maiL cho c h ú n g tòi đ ó n g góp n h i ề u ý k i ê n
quý báu cho tủ s á c h .
Ban xuất bản M K . P Ư B x i n được k í n h mời quý B ạ n đọc t h a m gia
cùng n â n g cao chất lượng tủ s á c h của c h ú n g ta.
Trong quá t r ì n h đọc, x i n các B ạ n ghi chú l ạ i các sai sót (dù n h ỏ ,
lớn) của cuốn sách hoặc các n h ậ n xét của r i ê n g B ạ n . Sau đó x i n gửi vê
địa chỉ:
E-mail: ;
Hoặc gửi về:
N h à sách M i n h Khai
249 Nguyễn T h ị M i n h K h a i , Q.I, Tp. H ồ Chí M i n h
N ế u B ạ n ghi chú trực t i ế p lên cuôn s á c h , r ồ i gửi cuốn s á c h đó cho
c h ú n g tôi thì c h ú n g tôi sẽ x i n h o à n l ạ i cước phí bưu đ i ệ n và gửi l ạ i cho
B ạ n cuốn s á c h k h á c .
C h ú n g tôi x i n gửi t ặ n g một cuốn s á c h của tủ s á c h M K . P U B tùy
chọn lựa của B ạ n theo một danh mục t h í c h hợp sẽ được gứi t ớ i B ạ n .
Với mục đích ngày c à n g n â n g cao c h ấ t lượng của tủ s á c h M K . P U B ,
chúng tôi r ấ t mong n h ậ n được sự hợp t á c của quý B ạ n đọc gần xa.
" MK.PUB
và Bạn đọc cùng làm ỉ"
MK.PUB
Số hóa bởi Trung tâm Học liệu – ĐHTN
M Ụ C
L Ụ C
LỜI NÓI ĐẦU
3
LỜI NGỎ
4
MỤC LỤC
5
CHƯƠNG Ì : N Ế M THỬ CAFÉ JAVA
19
1. C á c ứng dụng Java
19
1.1. Java l ậ p t r ì n h ứng dụng Console
19
1.2. Java l ậ p t r ì n h ứng dụng Desktop với Swing (JFC)
20
1.3. Java Applet
22
1.4. Java l ậ p t r ì n h m ạ n g
23
1.5. Java l ậ p t r ì n h ứng dụng Web
23
1.6. Java l ậ p t r ì n h cơ sở d ữ l i ệ u
25
1.7. JavaBean
25
1.8. Java l ậ p t r ì n h ứng dụng p h â n t á n
26
1.9. Java l ậ p t r ì n h điều k h i ể n t h i ế t bị
26
1.10. Java m ộ t n ề n ( p l a t í b r m ) h ệ điều h à n h và môi trường ứng dụng
Internet
26
1.11. C á c k h á n ă n g m ớ rộng và m ạ n h m ẽ k h á c của Java
26
1.12. File thực t h i của Java
28
2. Các môi t r ư ờ n g h ỗ t r ợ p h á t t r i ể n ứng dụng Java
29
3. Các t í n h n ă n g của Java S D K 1.4
30
4. K ế t chương
32
CHƯƠNG 2 : G I Ớ I T H I Ệ U VÀ CÀI Đ Ặ T JAVA J D K
Ì Lịch sử
33
33
1.1. K h ớ i đ i ế m
33
1.2. Sự p h á t t r i ể n
35
2. Đặc đ i ế m cùa Java
36
2.1. Đ ơ n g i ả n (Simple)
Số hóa bởi Trung tâm Học liệu – ĐHTN
36
SỊe
MỤC Lực
2.2. Hướng đ ố i tượng (Object Oriented)
37
2.3. P h â n t á n (Distributed)
3
2.4. T h ô n g dịch ( I n t e r p r e t e r )
38
2.5. M ạ n h m ẽ (Robust)
2.6. Bảo m ậ t (Security)
2.7. K i ế n t r ú c t r u n g t í n h (Neutral architecture)
7
3
8
3
8
38
2.8. K h ả chuyển
3
9
2.9. H i ệ u quả cao ( H i g h - p e r í b r m a n c e )
4
0
4
0
4
0
4
0
4
0
2.10. Đ a t u y ế n (Multi-Thread)
2.11. L i n h động (ílexible)
3. Cài d ặ t h ệ J D K 1.4.1
3.1. Chạy chương t r ì n h cài đ ặ t
3.2. Cập n h ậ t b i ế n đường d ẫ n trong h ệ điều h à n h
41
3.3. K i ể m t r a b i ế n C L A S S P A T H
42
3.4. B ắ t đ ầ u sử dụng các công cụ J D K
42
4. K ế t chương
44
CHƯƠNG 3 : NGÔN NGỮLẬP TRÌNH JAVA
45
1. L ậ p t r ì n h hướng đ ố i tượng
45
1.1. L ậ p t r ì n h hướng đ ố i tượng
45
1.2. Java và hướng đ ố i tượng
50
1.3. Sự k ế thừa v à t h i ế t k ế OOP
50
2. Chương t r ì n h Java đ ầ u tay
2.1. Chương t r ì n h HelloWorld -
52
X i n c h à o t h ế giới
52
2.2. B i ế n môi t r ư ờ n g C L A S S P A T H
54
2.3. Câu t r ú c chương t r ì n h Java
55
3. N g ô n ngữ Java
57
3.1. G h i chú (Comment)
5
7
3.2. T ừ k h ó a
5
9
Số hóa bởi Trung tâm Học liệu – ĐHTN
MỤC LỤC
7
3.3. G i ớ i t h i ệ u về b i ế n số
61
3.4. K i ể u d ữ l i ệ u
61
3.5. H ã n g (literal)
67
3.6. M ả n g (Array)
71
3.7. T o á n t ử và B i ể u thức
73
3.8. Điều k h i ể n
77
3.9. H à m - P h ư ơ n g thức (Function - Method)
91
4. Lớp v à đôi tượng
96
4 . 1 . Lớp (class)
96
4.2. Thuộc t í n h ( v ù n g của lớp - Field)
97
4.3. P h ư ơ n g thức
.98
4.4. Lớp và sự k ê thừa (Inheritance)
102
4.5. Gói t h ư v i ệ n (Packages):
107
4.6. N g o ạ i l ệ (Exception)
no
4.7. T u y ế n và đ a t u y ê n
112
4.8. Giao d i ệ n
118
5. K ế t c h ư ơ n g
124
C H Ư Ơ N G 4 : XÂY D Ư N G J A V A A P P L E T
125
1. K h á i n i ệ m v ề Applet
12ẽ
2. "Hello W o r l d " Applet
126
2.1. Tạo t ậ p tin> Java nguồn
126
2.2. B i ê n dịch t ậ p t i n nguồn
126
2.3. Đ ặ t Applet vào t r a n g Web H T M L
127
2.4. C h ạ y Applet
128
2.5. P h â n tích
UI
3. Cấu t r ú c Applet
13(
3.1. Vòng đ ờ i cùa một Applet
13S
3.2. Các p h ư ơ n g thức cơ b ả n
13c
Số hóa bởi Trung tâm Học liệu – ĐHTN
M Ụ C LỰC
3.3. Các p h ư ơ n g thức vẽ và bẫy sự k i ệ n t ư ơ n g t á c t r o n g A p p l e t
134
3.4. Giới h ạ n của Applet
139
3.5. T h ẻ <Applet>
140
4. Thực h à n h v i ế t Applet
142
4.1. Úng dụng minh họa về Applet 142
4.2. M ộ t số chú ý k h i v i ế t Applet
14S
5. H o à n t ấ t m ộ t Applet
157
5.1. N h à p h á t t r i ể n Applet cần k i ể m tra
157
5.2. Vài điều n é n l à m
158
6. K ế t chương
158
CHƯƠNG 5 : LẬP TRÌNH GIAO DIỆN 159
1. M ớ đ ầ u
159
2. Giới t h i ệ u về các t h à n h p h ầ n A W T
160
3. N ú t n h ấ n (Button)
162
3.1. Cách tạo n ú t n h ấ n
162
3.2. Sử dụng n ú t n h â n
163
3.3.
Tạo n ú t n h â n theo mô h ì n h xử lý t ì n h huống t r o n g Java
1.2 và 1.4
7.
166
4. N h ã n (Label)
169
5. N ú t chọn (Radio Button) và ô đ á n h d â u (Checkbox)
171
5.1. Tạo ô đ á n h dấu (Checkbox)
5.2.
172
K i ể m tra và t h i ế t l ậ p t r ạ n g t h á i cho ô đ á n h dấu (Checkbox
State)
172
5.3. Xử lý t ì n h huống k h i ô đ á n h dấu thay đ ổ i t r ạ n g t h á i
173
5.4. Tạo n ú t chọn (Radio Button)
176
5.5. Cách sử dụng n ú t chọn
177
6. Lựa chọn (Choice) 180
6.1. Đối tượng Choice và các p h ư ơ n g thức h ỗ t r ợ
180
6.2. Sử dụng thành phần Choice 182
Số hóa bởi Trung tâm Học liệu – ĐHTN
MỤC LỤC
9Ị j |
7. Danh sách (Lists) 184
7.1. Cách tạo một danh sách 185
7.2. Các đặc điểm của danh sách 186
7.3. Sử dụng đối tượng danh sách (List) 188
8. 0 văn bản và vùng văn bản (Text Field và Text Areas) 193
9. Tạo ô văn bản (TextField) 194
10. Tạo vùng văn bản (TextArea) 195
li. Đặc điếm chung của các thành phần văn bán 195
12. Đặc điểm riêng của đối tượng ô văn bản (TextField) 197
13. Đặc đ i ể m r i ê n g của đôi tượng TextArea
197
14. Sứ dụng đối tượng Textíìeld và Textarea 199
15. Thanh trượt (Scrollbar) 201
15.1. Tạo t h a n h t r ư ợ t
202
15.2. C á c đặc đ i ể m của t h a n h trượt
202
15.3. Sử dụng thanh trượt 203
16. Giới t h i ệ u về k h u n g chứa (Container) và bộ quản lý t r ì n h bày
(Layout Manager) của t h ư v i ệ n A W T
209
16.1. Đối tượng khung chứa (Container) là gì 209
16.2. Bộ quản lý cách t r ì n h bày là gì (Layout Managers)
210
17. Các đặc điểm chung của đối tượng khung chứa (Container) 210
18. Khung chứa Panels 212
19. Frames 214
19.1. Khung chứa Frame được dùng dể làm gì? 214
19.2. Tạo đối tượng khung chứa Frame 215
20. Các đặc d i ê m của khung chứa Frame
217
21. Sử dụng cửa sổ đế tạo một ứng dụng Windows độc lập 218
22. Gắn đối tượng trình đơn Menu vào cửa sổ ứng dụng 223
23. Sứ dụng t r ì n h đơn Menu
Số hóa bởi Trung tâm Học liệu – ĐHTN
226
lo
M Ụ C LỤC
24. K h u n g chứa Dialog
228
24.1. C á c h t ạ o k h u n g chứa Dialog
229
24.2. Các đặc đ i ể m của k h u n g chứa Dialog
230
25. Khung chứa ScrollPane
235
26. Bộ quản lý c á c h t r i n h b à y (Layout Manager)
235
26.1. C á c h t r ì n h b à y FlowLayout
236
27. C á c h t r ì n h b à y GridLayout
238
28. Cách t r ì n h b à y BorderLayout
240
29. C á c h t r ì n h b à y GridBagLayout
241
30. Đ ố i tượng Insets
247
3 1 . Cách t r ì n h b à y t ự do (Null layout)
248
32. Khung vẽ C anvas
249
33. P h ư ơ n g thức chung của các t h à n h p h ầ n thuộc t h ư v i ệ n A W T
251
34. Xác đ ị n h vị t r í và k í c h thước của các đ ố i tượng
253
35. Các t ì n h huống chung xảy ra cho n h ữ n g đ ố i tượng d ẫ n x u ấ t
từ lớp Component
255
36. Sử dụng k h u n g chứa ScrollPane
255
37. K ế t chương
257
CHƯƠNG 6 : Đ ố i TƯỢNG Đ ồ H Ọ A (GRAPHICS)
259
1. K h á i q u á t
259
2. P h â n b i ệ t p h ư ơ n g thức P a i n t o , R e p a i n t o v à UpdateO
260
3. Lớp Graphics
261
4. H ệ tọa độ
262
5. K ẻ đường t h ẳ n g
262
6. Vẽ h ì n h chữ n h ậ t (Rectangle)
263
7. Vẽ h ì n h chữ n h ậ t 3 chiều (3D Rectangle)
264
8. V ẽ h ì n h chữ n h ậ t t r ò n góc (Round Rectangle)
265
9. Vẽ vòng t r ò n v à h ì n h E l l i p
266
Số hóa bởi Trung tâm Học liệu – ĐHTN
MỤC LỤC
l i ÌỀ
l o . V ẽ đ a g i á c (Polygons)
26
l i . Lớp Polygon
26
12. V ẽ chữ (Text)
27
13. Đ ố i tượng Font
27
14. C á c kích thước Font với đ ố i tượng FontMetrics
27
15. C h ế độ vẽ
28:
16. V ẽ h ì n h ả n h (Image)
28
1.1. Vẽ ả n h vào Applet
28'
1.2. V ẽ ả n h vào cửa sổ ứng dụng
291
17. Theo dõi t i ế n t r ì n h n ạ p ả n h bằng lớp MediaTracker
29:
18. Các đ ố i tượng t i ệ n ích k h á c của lớp Graphics
29'
1.1. Lớp Point
29'
1.2. Lớp Dimension
29f
1.3. Lớp Rectangle
29í
19. Lớp Color t h ể h i ệ n m à u sắc
301
20. V ù n g cắt ( C l i p p i n g Region)
30!
21. I n ấ n ( P r i n t i n g )
30;
22. K ế t c h ư ơ n g
30!
C H Ư Ơ N G 7 : XỬ LÝ Ả N H ( I M A G E PROCESSING)
1. Các cách vẽ ả n h
31
31
1.1. P h ó n g to, t h u n h ỏ ả n h
31!
1.2. Xoay á n h
31'
1.3. C ắ t ả n h
31<
2. Đ ố i tượng ImageObserver
31'
3. Mô h ì n h Cung Cấp-Tiêp n h ậ n (Producer-Consumer)
32
3.1. Đ ố i tượng ImageProducer
32
3.2. Đ ố i tượng ImageConsumer
32
3.3. Cơ chê l à m việc của mô h ì n h Producer-Consumer
32:
Số hóa bởi Trung tâm Học liệu – ĐHTN
S I 12
MỤC Lực
3.4. Tạo ảnh từ vùng nhớ với đối tượng MemorylmageSource 324
3.5. Chép ảnh vào vùng nhớ với đối tượng PixelGrabber 327
4. Mô hình màu sắc (Color Model) 330
4.1. Mô hình màu trực tiếp với lớp DerectColorModel 331
4.2. Mô hình màu gián tiếp với lớp IndexColorModel 33o
5. Bộ lọc ảnh (Image Filter) 339
5.1. Bộ lọc CropImageFilter 341
5.2. Bộ lọc RGBImageFilter
343
5.3. Tạo bộ lọc có khá năng xoay ảnh 348
6. Các phương pháp xử lý ảnh mớ rộng 351
6.1. Sử dụng thành phần Alpha làm ảnh trong suốt 351
6.2. Biến đổi ánh thành âm bàn (Negative) 353
6.3. Biên đôi ảnh màu thành ánh có thang độ xám 354
6.4. Khử sắc độ màu của ảnh 355
6.5. Tăng độ sáng/tôi cho ảnh 356
7. Dùng bộ đệm làm khung hình phụ (off-screen) 358
8. Kết chương 360
CHƯƠNG 8 : xử LÝ LUÔNG VÀ TẬP TIN (STREAM VÀ FILES)361
1. Luồng là gì ? 361
2. Lớp luồng xuấưnhập cơ bán (InputStream và OutputStream) 365
3. Lớp Input Stream 365
4. Lớp OutputStream 367
5. Lớp FileInputStream 369
6. Lớp FileOuputStream 371
7. Lớp File và cách sử dụng 374
8. Lọc tên tập tin 379
9. Tạo những tập tin tạm thời (Temporary File) 381
10. Xóa tập tin tạm thời
382
Số hóa bởi Trung tâm Học liệu – ĐHTN
MỤC LỤC
13 Ị g
li. Lớp RandomAccessFile và cách sử dụng 38Ỉ
12. Sử dụng các lớp nhập/xuất trung gian (Filter 10 Stream class) ...38í
13. Luồng nhập trung gian (FilterInputStream) 38Ẽ
14. Lớp BufferedInputStream 39C
15. Lớp BufferedOutputStream 392
16. Đườngống và cách sử dụng (PIPE) 394
17. Lớp luồng SequencelnputStream 39£
18. Lớp PushbacklnputStream 401
19. Lớp StreamTokenizer 403
20. Đối tượng System.out 410
21. Đối tượng System.in 412
22. Lớp ObjectOutputStream 413
23. Lớp ObjectInputStream 416
24. Lớp PrintStream 417
25. Lớp ByteArrayOutputStream và ByteArraylnputStream 418
26. Lớp StringBufferInputStream 421
27. Lớp LineNumberlnputStream 421
28. Các luồng xuất nhập dùng ký tự Unicode 421
29. Các đối tượng Serializable 425
29.1. Serializable là gì ? 425
29.2. Mờ rộng khả năng đọc và ghi các đối tượng 429
30. Kết chương 431
CHƯƠNG 9 : ƠAVABEANS 432
1. Tống quan về JavaBeans 432
2. Công nghệ phần mềm dựa trên các thành phần 434
2.1. Nhu cầu sử dụng lại mã 434
2.2. Xây dựng phần mềm từ các thành phần (Component) 43£
3. Các thuộc tính của thành phần JavaBeans 43 £
Số hóa bởi Trung tâm Học liệu – ĐHTN
g i 14
MỤC LỤC
3.1. Thuộc t í n h (Property) cùa t h à n h p h ầ n JavaBeans l à gì
435
3.2. Các phương thức truy xuất (Accessor Methods) 436
3.3. Thuộc tính là một dãy nhiều phần tử (Indexed Properties) 437
3.4. Thuộc tính thể hiện sự thay đối (Bound Property) 437
3.5. Thuộc tính ràng buộc (Constraint Property) 441
4. T ì m h i ể u cách Introspector l à m việc
445
4.1. Intospector là gì?
445
4.2. Thiết kế các phương thức mẫu dùng cho thuộc tính 445
4.3. T h i ế t k ế các p h ư ơ n g thức m ẩ u d ù n g cho t ì n h huống (Event)...446
4.4. Khai b á o các p h ư ơ n g thức m ộ t cách tường m i n h
446
5. Xử lý tình huống của thành phần JavaBeans 447
5.1. Các t ì n h huống n ộ i t ạ i (Event State)
447
5.2. Các tình huống dùng để tương tác (Event Listener) 451
5.3. Đ ă n g ký đ ố i tượng Listener với t h à n h p h ầ n JavaBeans
451
5.4. K h ả n ă n g đ ă n g ký m ộ t Listener (Unicast) v à n h i ề u Listener
(Multicast) của t h à n h p h ầ n ƯavaBean
456
6. Lưu g i ữ l ạ i đ ố i tượng JavaBeans
460
7. Các bước cần t h i ế t đ ể x â y dựng JavaBeans
460
7.1. Cài đặt công cụ phát triển thành phần JavaBeans (BDK) 460
7.2. T h i ế t k ế JavaBeans
463
7.3. Kiểm tra JavaBeans sau khi hoàn tất 464
7.4. Đ ó n g gói v à chuyến giao cho người d ù n g
464
8. Xây dựng thành phần JavaBeans ButtonText3D 465
8.1. T h i ế t k ế tổng q u á t
465
8.2 Chuẩn bị cho các thuộc tính 467
8.3. Các tình huống cần xử lý 469
8.4. Các phương thức khới tạo khác 472
8.5. Một số bổ sung cần thiết trước khi biên dịch 478
Số hóa bởi Trung tâm Học liệu – ĐHTN
MỤC LỤC
15
É
8.6. B i ê n dịch c h ư ơ n g t r ì n h
479
9. Sử d ụ n g ButtonText3D Beans
479
9.1. T h ử n g h i ệ m ButtonText3D bằng công cụ B D K :
479
9.2. K i ể m t r a t ì n h huống và l i ê n k ế t các t h à n h p h ầ n với nhau
480
9.3. L i ê n k ế t n ú t n h ấ n với các t h à n h p h ầ n JavaBeans k h á c
481
9.4. T h ử n g h i ệ m ButtonText3D bằng công cụ p h á t t r i ể n J B u i l d e r . 4 8 1
10. T ì m h i ể u v ề lớp B e a n l n í b
482
l i . T h i ế t k ế bộ soạn t h ả o d ù n g thay đ ổ i thuộc t í n h
(Property Editor)
485
12. X â y dựng t h à n h p h ầ n JavaBeans Label3D
485
13. Biên dịch và sử dụng t h à n h phần Label3D
493
13.1. B i ê n dịch t ậ p t i n Label3D.jar
493
13.2. T h ử n g h i ệ m t h à n h phần JavaBeans Label3D
494
14. T í c h hợp JavaBeans với các mô h ì n h t h à n h p h ầ n k h á c
495
14.1. ActiveX
495
14.2. Corba
495
14.3. . N É T
495
15. So s á n h JavaBeans và ActiveX
496
CHƯƠNG 10 : LẬP TRÌNH VỚI JFC ..497
1. Giới t h i ệ u v ề J F C (Java Foundation Class)
497
2. C à i đ ặ t t h ư v i ệ n J F C
499
3. C h ư ơ n g t r ì n h JFC đ ầ u t i ê n :
499
3.1. C h ư ơ n g t r ì n h HelloWorldJFC
499
3.2. P h â n tích HelloWorldJFC
500
4. K h u n g chứa đ a t ầ n g (Multi-Layering)
501
5. C h ư ơ n g t r ì n h HelloWorldJFC cải t i ế n
502
6. T ạ o v à sử dụng n ú t n h ấ n v ớ i ơ b u t t o n
504
7. Sử dụng ToolTips cho các đ ố i tượng
506
Số hóa bởi Trung tâm Học liệu – ĐHTN
16
M Ụ C LỤC
8. Sử dụng Popup-Menu
508
9. T ạ o đường v i ề n (B orders)
510
10. Sử dụng đ ố i tượng CheckBox v à RadioButton
512
l i . Sử dụng đ ố i tượng danh s á c h J L i s t v à JComboBox
516
12. T ạ o d ố i tượng p h â n t r a n g JTabbedPane
518
13. T ạ o v à sử dụng t r ì n h đ ơ n (Menu)
520
14. Sử dụng đ ố i tượng Toolbars
525
15. Sử dụng t h a n h t i ế n t r ì n h v ớ i đ ố i tượng JProgressBar
526
16. Sử dụng đ ố i tượng Slider
531
17. Sử dụng b ả n g JTable đ ể t r ì n h b à y d ữ l i ệ u
534
18. Sử dụng các đ ố i tượng trong t ừ n g ô của bảng
538
19. Sử dụng cây (Tree) đ ể t r ì n h b à y d ữ l i ệ u
540
20. T h i ế t k ế t r ì n h duyệt bằng đ ố i tượng JEditorPane
549
21. JFC v à Applet
551
22. K ế t chương
552
CHƯƠNG l i : ĐỒ H Ọ A V Ớ IJAVA2D
553
1. Giới t h i ệ u về Java2D
553
1.1. Tổng quan
553
1.2. Các t í n h n ă n g m ớ i của Graphics2D
555
1.3. C á c h t i ế p c ậ n chung
555
2. V ẽ các dạng h ì n h học trong Java2D
556
3. Các k i ể u vẽ trong Java2D
560
3.1. Lớp Paint
560
3.2. V ẽ ả n h trong suốt (Transparency)
560
3.3. Tô bằng m ẫ u ả n h
562
4. V ẽ ả n h trong suốt (Transparency) t r o n g Java2D
565
5. Sử dụng Font t r o n g Java2D
566
6. N é t vẽ (Stroke Styles) trong Java2D
568
Số hóa bởi Trung tâm Học liệu – ĐHTN
17
MỤC LỤC
6.1. C á c thuộc t í n h của n é t v ẽ
569
7. B i ế n đ ổ i t ọ a đ ộ t r o n g Java2D
574
8. K ế t c h ư ơ n g
577
C H Ư Ơ N G 12 : C Á C C Ô N G c ụ c ơ B Ả N
578
1. T r ì n h b i ê n dịch Javac
578
1.1. T ó m t ắ t
578
1.2. Mô t ả
578
1.3. T ì m k i ế m theo k i ể u
579
1.4. D a n h s á c h các t ậ p t i n
580
1.5. Tùy chọn
581
1.6. Ví dụ:
584
2. T r ì n h t h ô n g dịch Java
587
2.1. T ó m t ắ t
587
2.2. Mô t ả
587
2.3. Java v à 01djava
588
2.4. T r ì n h b i ê n dịch tức t h ờ i J I T (Just-in-Time compiler)
589
2.5. Tùy chọn
590
3. T r ì n h p h á t s i n h t à i l i ệ u Javadoc
592
3.1. T ó m t ắ t
592
3.2. Mô t ả
592
4. T r ì n h duyệt A p p l e t Appletviewer
593
4.1. T ó m t ắ t
594
4.2. Mô t ả
594
4.3. T ù y chọn
594
5. T r ì n h t ạ o h ồ sơ J A R
594
5.1. T ó m t ắ t
"OẠI HỘC THẢI NGUYÊN
•TSUNG-TẲM-HỌGMỆD
5 2. M ô t ả
5.3. Tùy chọn
I
Số hóa bởi Trung tâm Học liệu – ĐHTN
.....ị
594
5
9
5
595
m
18
MỤC Lực
5.4. Ví dụ
596
6. T r ì n h gỡ r ố i J D B
593
6.1. T ó m t ắ t
59S
6.2. Mô t ả
598
6.3. Tùy chọn
GÓI
7. T r ì n h p h á t s i n h m ã nguồn C-JavaH
601
7.1. T ó m t ắ t
601
7.2. Mô t ả
602
7.3. Tùy chọn
602
8. T r ì n h dịch ngược Javap
603
8.1. Tóm t ắ t
8.2. Mô t ả
8.3. Tùy chọn
9. K ế t chương
Số hóa bởi Trung tâm Học liệu – ĐHTN
603
;
604
604
605