͘ ݅ ̓ ̓͂ ԃ Ŋ
(ߋ ъ) ̈́ ϟ ͂ ś

Allen Holub ߜ
JavaWorld
͕͟ ΂ :݇ͅ


΂ ˂
User Interface К ŋ .ݟ̈́ ΂ ˂ Ɖ ˟ ΂ ڜ
ϟ ˜߅ ŗ) ߌ ΂ ˂ ŗ ԋ߅ ˟
߃͛ string ˅ ڟ ԃ .˜ ؟͐ (˜΂ ̈́
˜͘ ΂ JComponent ڟ ˅ ޟ .˜ ܂ ՜ ߛ ŕ ݂
̈́ ŋ ޟ ̓ ͕ . ͂ ̈́ ߜ
̓ Ԃ ͘˗ ˜߅ ŗ ̙) ˌ ˝ߊ ܍
(˜΂


java.user-interface : ŋ


( Form К ̓͂ ) user interface ΂ ˂ ߉ ŋ
Form 陂 ŗ ڟ ( Ԋ) ͕ static ͟ .˝ ނ
static 陂 ւ ͂ Employee ŗ ˖
ؙ ŗ ˖ ̓ ͂ ޟ˜ ˜߅ ͕ ނ ͟
. ؟͐ ͕ ˙ static-initializer ߙ . ͂
Name 酌 ̓ .˜ invariant ˙ add-field ߊ͕
闇 ŕ .˜ ނ ͛ invariant ˙ ˜ ͟
͕ Ĉ ś ϟ label ޟ .˜ ͕ ł .˜ߌ ܍
ߘ ͛ ܋ ͂ߊ ͕) ͖ ܋ x ߍ
镅 (10 10) ͂ߊ (0 0 ) ł :͟ ՜ ͕
ߊ͕ ޟ .˃ ҂ ̈́ ߗ̛ ˗ Ԋ ߌ
酕 К ݂ JComponent ܂ ŋ ˗ ͖
.ߛ Ҋ ˌ ˝ߊ џ

陟 ͕ џ ݂ ŋ ( Ԋ) visual-proxy() ˗ ː ъ
salary 韜 ˝ ߘ .ߌ ߊ͕ Form ŗ
ߍ Jlable ̙ ˜ߊ Ԗ ŕ salary ̈́ .ˋ Name
ޟ ݕ˝ ͟ ŋ ͅ˟ name ŕ .ߌ ˜͘΂ ̈́
swing ̓ ߟ .˝ ͟ name ˜߅ ͕ ̓͂
ŋ PlainDocument ŗ name ŕ ߃͛ ˖ .˟Θ̓
闇 .ŋ swing ΂ ߛ model · ޟ .ߌ reference ( Ԋ) name
.ߌ ˛ Ԋ JTextField "presentation"
݅ ԋ߅ ߃͛ PlainDocument ŗ ˝ ͟ ޅ ˙ ̓͂
.ݟߊ ݟ߅ ߌ

constructor Employee 闇 .ŋ ͕ Ŋ ˜͕ ː ͛
ͅ ޟ .˜ ˖ ߊ Employee ŗ ΂ ߊ
. 酛 ͘ ݅ ̓͂ ߂ ̓ (ߊ ˖ )
˟΂ dialog (Constructor ߊ͕ ) ΂ߛ ł Ë ̓
.韂 Ë ΂ ߛ ł ˟ߊ Constructor
.˟ ͟ ˂ ˖ ͕ Ι ߍ ˟߅

.( Ԋ) ˜ Constructor ͕ ߊ ŗ
Í ŕ ŕ ̓ Form ߌ Ã ł
͕ hook ˅ Constructor Є ˟ ŋߊ ̈́ ͕
ł 陂 .( Ԋ) ΂ create_intialization_Form(...)
.ߌ ˖ Ο derived-class


base-class ߂ 霟 ) ŋ derived-class ˌ ˜͘΂ ˖
.ߌ ˜͘ ΂ ނߘ Ԗ ͕ џ ΂ ˂ (ˌ

͟ ̓ Frame Employee Constructor ڜ
Wait_for_close() (΂ JDialog Jfame ݅߅ ޛ) .΂
.˜ ͕ ̓͂ ٟ ř thread
thread 銂 ˜߅ modless ͕ .˟ Յ ŋ Κ
霛 ͘ ˟ ˂ .˜ ş ܃ ߃͛ ͟˂
Employee "main" Swing thread 霂雃
Ŗ ˟ ˂ υͅ ޟ ͘ ̙ .߃ ˜ߊ ܂ ˜΂


Employee.java : ŋ



aggregation . ΂ ˂ ŋ form К
Ԃ ޟ ޛ .ߌ ͟ ( Ԋ) ˙ ߟ ˙
reference collection 삇 .ߛ ΂ ˂ vector ߍ
͘ ͂ vector ˜ ݜ߅ ޛ ߌ
߅ ͕ ŋ ̓ ͕) ݟ ޟΘ ̘ ͟
韂vector ߂ 霂΂ hash ˇ ߊ Element
醗 ܟ˃ .˜ џ ՜ ߛ К ł ˌ Element
.(߃ ˝ߊ ͟ ˜ ͂ ߃ ˜ ˙ ͕

ޛ .˜ ؟͐ ͕ ͂ ߘ ߛ͟ ( Ԋ) INSET
˜ .ݜ ΂ ˂ ߍ EmptyBorder ŗ ˂
( ) preferred_size ߛ
. 郂 郂 getPreferredSize() getMinimiumSize()
͕ ˟ˇ ˙ ( Ԋ) update_preferred_Size(...)
܂ ˙ ܉ ˅ ޟ .ˌ ˝ߊ ߊ͕ ߌ
.˜ ˜ Ι ߍ

Frame Ancestor listener ( Ԋ) Form Constractor
߃ Ù ޛ ̓ .˟ ݟ՜ ˜ ͟ ˜ ߌ ؖ߅
韂thread ̙ ݜ˟ ؖ߅ ނ
wait() . 酜 ˜ Յ wait-for-close()
.˜ encapsulate notifyAll() ( Ԋ) release()

swing ߅ ͈ Ancestor listener
. ߇ AncestorAdapter ̓ ˂
.ߛ ˂ AncestorAdapter


AncestorAdapter.java : ŋ

. ͂ ؙ ˅
iterator ڟ ˅ ޟ .˜ߌ ( Ԋ) attach(user-interface)
˝ߊ ˙ ͝ ßͅ ˜ ˂ ˙
Element К attach . ˌ ΂
ߍ ̈́ ϟ ͟ ߍ ߄ ˛ ك (attach(...)
. ŋߊ ˌ ˌ ͟ Element ݂ К ݂
.ߌ ͕ ̈́ Є

swing ( ) dolayout() ߃͛ ΂ ˂ ޟ͊
韕 ͝ ßͅ ͟ ߍ ˙ ΂ ˂ .ߌ ˜ߊ
ߍ ( Ԋ) activate() ˅ Element ΂ ܂ .˜ ܂
ŕ ̓ SetBounds(Location) SetVisbible(true) ˅ ޟ .͟
ߘ .˜ߊ ͕ Ë ܉ ̈́ ͗ ΂ ˌ ̈́
˂ 酋 ޟ ˟߅ ߛ ͂ ͅ
ޟ ͂ ˜ ̓ ޛ .˟ ΂ ˂ Layout_Manager
.͗ Â


ś ܗ
1 2 3 4 5


Copyright 2001-2002, IT World / JavaWorld / PC WORLD Iran / International Data Group Inc. All rights reserved.

՜
ޟ ߛ ߊ ՜
:˟ߘ Ùԛ

-
-
-

-
Ë -
ߗ -

-
ߙԛ -
ŋ ˜ -




:ڟͅ ŋ

: ŗ͌ ݂

܃ ś
ś - ͘ ݅ ̓ ̓͂ ԃ Ŋ
( ъ) ś - ͘ ݅ ̓ ̓͂ ԃ Ŋ
( ъ) ś - ͘ ݅ ̓ ̓͂ ԃ Ŋ
( ъ) ś - ͘ ݅ ̓ ̓͂ ԃ Ŋ