 |
Core API Tour 2:
java.awt , java.applet Package Tour!
|
Á¶ ±¹
138-229 ¼¿ïƯº°½Ã Àá½Çº»µ¿ 193
¹Ì¼ÒÅ×Å© ±â¼ú°³¹ß½Ç
E-mail : venus@misotech.com
URL : http://misotech.com/~venus/
- Abstract:
- ÀÚ¹Ù API¿¡´Â 80³â´ë Á߹ݺÎÅÍ º¸Æíȵǿ© Àû¿ëµÇ°í ÀÖ´Â ±×·¡ÇÈ
»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º(GUI)¸¦ ±¸ÇöÇÒ ¼ö ÀÖµµ·Ï awt ÆÐŰÁö¸¦ Æ÷ÇÔÇϰí
ÀÖÀ¸¸ç, ¶ÇÇÑ ÀÚ¹ÙÀÇ ºü¸¥ È®»ê¿¡ ¸¹Àº ±â¿©¸¦ ÇÑ ¾ÖÇø´, Áï ÀÚ¹Ù¸¦
Áö¿øÇÏ´Â ºê·Î¿ìÁ®¿¡¼ µ¿ÀÛÇÏ´Â ÀÚ¹Ù ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô
ÇØÁÖ´Â applet ÆÐŰÁöµµ Æ÷ÇÔÇϰí ÀÖ´Ù.
º» Core API Tour 2 ¿¡¼´Â ÀÌ·¯ÇÑ ÆÐŰÁöµé¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ÀÌÇØ¸¦
¸ñÀûÀ¸·Î Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º ±×¸®°í °¢°¢ÀÇ ¸Þ½îµåÀÇ ±â´É°ú ¿ªÇÒ¿¡
´ëÇØ¼ »ìÆìº»´Ù.
- Keywords:
- Java, API(Application Programming Interface), Package, WWW(World
Wide Web), AWT(Abstract Window Toolkit), Applet, Application,
GUI(Graphical User Interface)
1. java.awt ÆÐŰÁö
AWT´Â Abstract Window ToolkitÀÇ ¾àÀÚ·Î ¸¹Àº Cross-Flatform À©µµ¿ì
¶óÀ̺귯¸®¿¡ ÀÇÇØ ¸¸µé¾îÁø Á¦¾à¿¡¼ ¹þ¾î³ª Windows, Motif µî ȯ°æ¿¡
¹«°üÇÑ À©µµ¿ì »ý¼º ÅøÀ» Áö¿øÇÑ´Ù.
java.awt ÆÐŰÁö´Â Ç¥ÁØ GUI ÄÄÆ÷³ÍÆ®µéÀ» °¡Áö°í ÀÖ°í, À̰͵éÁß¿¡´Â
¿©·¯°³ÀÇ ´Ù¸¥ ÄÄÆ÷³ÍÆ®¸¦ ÀÚ½ÅÀÇ ¿µ¿ª¾È¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â Container¶ó´Â
Ưº°ÇÑ ÄÄÆ÷³ÍÆ®µéµµ ÀÖ´Ù. ¶ÇÇÑ ·¹À̾ƿô ¸Å´ÏÀú¶ó´Â °ÍÀÌ ÀÖ¾î¼
ÄÁÅ×À̳ʿ¡ Æ÷ÇÔµÈ ÄÄÆ÷³ÍÆ®µéÀÇ ¹èÄ¡ ¸ð¾çÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù.
À̰Ϳܿ¡ À̺¥Æ®, ±×·¡ÇÈ, »ö, ÆùÆ® µî ¿©·¯°¡Áö GUI °ü·Ã Ŭ·¡½ºµéÀÌ
Æ÷ÇԵǾî ÀÖ´Ù.
´ÙÀ½Àº java.awt ÆÐŰÁö Ŭ·¡½ºµéÀÇ °èÃþµµÀÌ´Ù.
java.awt.Component (implements java.awt.image.ImageObserver*)
java.awt.Button
java.awt.Label
java.awt.Canvas
java.awt.Checkbox
java.awt.Choice
java.awt.List
java.awt.Scrollbar
java.awt.TextComponent
java.awt.TextField
java.awt.TextArea
java.awt.Container
java.awt.Panel
(java.applet.Applet*)
java.awt.Window
java.awt.Frame (implements MenuContainer)
java.awt.Dialog
java.awt.FileDialog
java.awt.MenuComponent
java.awt.MenuBar (implements java.awt.MenuContainer)
java.awt.MenuItem
java.awt.Menu (implements java.awt.MenuContainer)
java.awt.CheckboxMenuItem
java.awt.BorderLayout (implements java.awt.LayoutManager)
java.awt.CardLayout (implements java.awt.LayoutManager)
java.awt.FlowLayout (implements java.awt.LayoutManager)
java.awt.GridLayout (implements java.awt.LayoutManager)
java.awt.GridBagLayout (implements java.awt.LayoutManager)
java .awt.Event
java.awt.Graphics
java.awt.Color
java.awt.Font
java.awt.FontMetrics
java.awt.Point
java.awt.Dimension
java.awt.Rectangle
java.awt.Polygon
java.awt.Image
java.awt.MediaTracker
java.awt.Toolkit
java.awt.CheckboxGroup
java.awt.GridBagConstraints (implements java.lang.Cloneable*)
java.awt.Insets (implements java.lang.Cloneable*)
1.1 ÄÄÆ÷³ÍÆ®µé
1.1.1 Component Ŭ·¡½º
¸ðµç Ç¥ÁØ GUI ÄÄÆ÷³ÍÆ®µéÀÇ ¼öÆÛ Ŭ·¡½ºÀÌ´Ù. ÀÌ Å¬·¡½º´Â Ãß»óŬ·¡½º(abstract
class) ·Î Á¤ÀÇ µÇ¾î Àֱ⠶§¹®¿¡ ÀνºÅϽºÈ ÇÏ¿© °´Ã¼¸¦ »ý¼ºÇÒ
¼ö ¾ø°í, ÀÌ Å¬·¡½º¸¦ »ó¼Ó ¹Þ´Â ¼ºê Ŭ·¡½ºµéÀÇ °´Ã¼¸¦ »ý¼ºÇÏ¿©
»ç¿ëÇÑ´Ù.
ÀÌ Å¬·¡½ºÀÇ ¸Þ½îµå´Â ´ë´ÜÈ÷ ¸¹À¸¸ç ¸ðµç ¼ºê Ŭ·¡½ºµé¿¡¼ »ç¿ëµÈ´Ù.
- setBack/Foreground(Color c) : ÄÄÆ÷³ÍÆ®ÀÇ ¹è°æ/Àü°æ»öÀ» ¼³Á¤ÇÑ´Ù.
- Color getBack/Foreground() : ¼³Á¤µÇ¾î ÀÖ´Â ¹è°æ/Àü°æ»öÀ» ¾ò´Â´Ù.
- setFont(Font f) : ÄÄÆ÷³ÍÆ®ÀÇ ÆùÆ®¸¦ ¼³Á¤ÇÑ´Ù.
- Font getFont() : ¼³Á¤µÇ¾î ÀÖ´Â ÆùÆ®¸¦ ¾ò´Â´Ù.
- FontMetrics getFontMetrics(Font font) : ÁöÁ¤ÆùÆ®ÀÇ Å©±â¸¦ ÃøÁ¤Çϱâ À§Çؼ
FontMetrics °´Ã¼¸¦ ¾ò´Â´Ù.
- Graphics getGraphics() : ÄÄÆ÷³ÍÆ®ÀÇ Graphics Context¸¦ ¾ò´Â´Ù.
- show() : ÄÄÆ÷³ÍÆ®¸¦ ȸ鿡 º¸¿©ÁØ´Ù.
- show(boolean cond) : true¸¦ ÁöÁ¤Çϸé ȸ鿡 º¸¿©ÁÖ°í, falseÀÌ¸é °¨Ãá´Ù.
- hide() : ÄÄÆ÷³ÍÆ®¸¦ ȸ鿡¼ ¾Èº¸ÀÌ°Ô ÇÑ´Ù.
- enable() : ÄÄÆ÷³ÍÆ®ÀÇ µ¿ÀÛÀ» Ȱ¼ºÈ ½ÃŲ´Ù.
- enable(boolean cond) : true¸é Ȱ¼ºÈ, false¸é ºñȰ¼ºÈ ½ÃŲ´Ù.
- disable() : ÄÄÆ÷³ÍÆ® µ¿ÀÛÀ» ¸øÇÏ°Ô ÇÑ´Ù.
- deliverEvent(Event evt) : À̺¥Æ®¸¦ postEvent() ¸Þ½îµé º¸³½´Ù.
- boolean postEvent(Event evt) : À̺¥Æ®¸¦ handleEvent() ·Î º¸³½´Ù.
- boolean handleEvent(Event evt) : À̺¥Æ®°¡ ¹ß»ýµÇ¸é È£ÃâµÈ´Ù.
º¸Åë À̺¥Æ®ÀÇ ÇüŸ¦ °áÁ¤Çϰí, °¢°¢¿¡ ¸Â´Â À̺¥Æ® Çڵ鷯¸¦ È£ÃâÇÑ´Ù.
- boolean mouseDown(Event evt, int x, int y) : ¸¶¿ì½º ¹öưÀÌ ´·ÁÁú¶§ È£ÃâµÇ´Â
À̺¥Æ® Çڵ鷯.
- boolean mouseDrag(Event evt, int x, int y) : ¸¶¿ì½º µå·¡±× À̺¥Æ®°¡ ¹ß»ýµÉ¶§
È£ÃâµÇ´Â À̺¥µå Çڵ鷯.
- boolean mouseEnter(Event evt, int x, int y) : ¸¶¿ì½º Æ÷ÀÎÅͰ¡ ÄÄÆ÷³ÍÆ®ÀÇ ³»ºÎ·Î
µé¾î°¥¶§ È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯.
- boolean mouseExit(Event evt, int x, int y) : ¸¶¿ì½º Æ÷ÀÎÅͰ¡ ÄÄÆ÷³ÍÆ®ÀÇ ¿ÜºÎ·Î
³ª°¥¶§ È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯.
- boolean mouseMove(Event evt, int x, int y) : ¸¶¿ì½º Æ÷ÀÎÅͰ¡ ¿òÁ÷À϶§ È£ÃâµÇ´Â
À̺¥Æ® Çڵ鷯.
- boolean mouseUp(Event evt, int x, int y) : ¸¶¿ì½º ¹öưÀÌ ³õ¿©Áú¶§ È£ÃâµÇ´Â ÀÌ
º¥Æ® Çڵ鷯.
- boolean keyDown(Event evt, int key) : ۰¡ ´·ÁÁú¶§ È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯.
- boolean keyUp(Event evt, int key) : ۰¡ ³õ¿©Áú¶§ È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯.
- boolean lostFocus(Event evt, Object what) : ÄÄÆ÷³ÍÆ®ÀÇ ÀÔ·Â Æ÷Ä¿½º¸¦ »ó½ÇÇßÀ»
¶§ È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯.
- boolean gotFocus(Event evt, Object what) : ÄÄÆ÷³ÍÆ®ÀÇ ÀÔ·Â Æ÷Ä¿½º¸¦ ¾ò¾úÀ»¶§
È£ÃâµÇ´Â À̺¥Æ® Çڵ鷯
- boolean action(Event evt, Object what) : ÄÄÆ÷³ÍÆ®¿¡¼ ¹ß»ýµÈ À̺¥Æ®¸¦ ó¸®ÇÒ¶§
»ç¿ëµÇ´Â À̺¥Æ® Çڵ鷯.
- move(int x, int y) : ÄÄÆ÷³ÍÆ®ÀÇ À§Ä¡¸¦ ¹Ù²Û´Ù.
- resize(int width, int height) : ÄÄÆ÷³ÍÆ®ÀÇ Å©±â¸¦ ¹Ù²Û´Ù.
- reshape(int x, int y, int width, int height) : ÄÄÆ÷³ÍÆ®¸¦ ÁöÁ¤À§Ä¡¿¡ ÁöÁ¤µÈ Å©±â¸¦
°®µµ·Ï ÇÑ´Ù.
- Dimension size() : ÄÄÆ÷³ÍÆ®ÀÇ Å©±â¸¦ ¾ò´Â´Ù.
- Dimension preferredSize() : ÄÄÆ÷³ÍÆ®ÀÇ ÀûÁ¤Å©±â¸¦ ¾ò´Â´Ù.
- Dimension minimumSize() : ÄÄÆ÷³ÍÆ®ÀÇ ÃÖ¼ÒÅ©±â¸¦ ¾ò´Â´Ù.
- boolean inside(int x, int y) : ÁöÁ¤ ÁÂÇ¥Á¡ÀÌ ÄÄÆ÷³ÍÆ®¿¡ Á¸ÀçÇÏ´ÂÁö¸¦ °Ë»çÇÑ´Ù.
- Point location() : ºÎ¸ð ÁÂÇ¥°è¿¡¼ÀÇ ÄÄÆ÷³ÍÆ® À§Ä¡¸¦ ¸®ÅÏÇÑ´Ù.
- Image createImage(ImageProducer producer) : ÁöÁ¤ ImageProducer ¸¦ ÀÌ¿ëÇÏ¿©
À̹ÌÁö¸¦ »ý¼ºÇÑ´Ù.
- Image createImage(int width, int height) : ´õºí ¹öÆÛ¸µ(double-buffering)¿¡ »ç¿ë
ÇÒ ÁöÁ¤ Å©±âÀÇ À̹ÌÁö¸¦ »ý¼ºÇÑ´Ù.
- repaint() : ÄÄÆ÷³ÍÆ®¸¦ ´Ù½Ã ±×¸°´Ù. ³»ºÎÀûÀ¸·Ð update() ¸Þ½îµå¸¦ È£ÃâÇÑ´Ù.
- update(Graphics g) : ÄÄÆ÷³ÍÆ®ÀÇ ±×·¡ÇÈ Á¤º¸¸¦ °»½ÅÇÑ´Ù. Component Ŭ·¡½ºÀÇ
update() ¸Þ½îµå´Â ȸéÀ» Áö¿ì°í paint() ¸Þ½îµå¸¦ È£ÃâÇÑ´Ù.
- paint(Graphics g) : ÄÄÆ÷³ÍÆ®ÀÇ ±×·¡ÇÈÁ¤º¸¸¦ ȸ鿡 ±×¸°´Ù.
º¸Åë paint() ¸Þ½îµå´Â ÀçÁ¤ÀÇ(overiding)ÇÏ¿© »ç¿ëµÈ´Ù. ¸Å°³º¯¼ö¸¦
ÅëÇØ Graphics °´Ã¼¸¦ ³Ñ°Ü ¹Þ¾Æ ´Ù¾çÇÑ ±×·¡ÇÈ Ã³¸® ¸Þ½îµåµéÀ» »ç¿ëÇÒ
¼ö ÀÖ´Ù. ÀÌ ¸Þ½îµå´Â ÄÄÆ÷³ÍÆ®°¡ ´Ù½Ã ±×·ÁÁú Çʿ䰡 ÀÖÀ»¶§¸¶´Ù
È£ÃâµÈ´Ù.
Event Ŭ·¡½º
À©µµ¿ì ÇÁ·Î±×·¥Àº À̺¥Æ® Á᫐ ÇÁ·Î±×·¡¹Ö ¹æ¹ýÀ» »ç¿ëÇÑ´Ù.
ÀÌ Å¬·¡½º¿¡´Â ¹ß»ýµÈ À̺¥Æ®¿¡ ´ëÇÑ Á¤º¸ÀÇ º¸°üÀ» À§ÇØ ´ÙÀ½°ú °°Àº
º¯¼öµéÀÌ ÀÖÀ¸¸ç, À̺¥Æ®ÀÇ Çüųª ۰ª µîÀÇ »ó¼öµéÀ» °¡Áö°í ÀÖ´Ù.
¹ß»ýµÈ À̺¥Æ®ÀÇ Ã³¸®´Â ÀÏÂ÷ÀûÀ¸·Î Component Ŭ·¡½ºÀÇ handleEvent()
¿¡¼ 󸮵Ǹç, ¿©±â¿¡¼ °¢°¢ÀÇ À̺¥Æ® ÇüÅ¿¡ ¸Â´Â Çڵ鷯(action(),
key****(), mouse****(), ***focus() µî)·Î °ü·ÃÁ¤º¸¿Í °°ÀÌ º¸³»Áø´Ù.
Component Ŭ·¡½º¿¡ ÀÖ´Â ÀÌ·¯ÇÑ Çڵ鷯µéÀº ¾Æ¹«°Íµµ Á¤Àǰ¡ µÇ¾î
ÀÖÁö ¾Ê±â ¶§¹®¿¡ ÀçÁ¤ÀÇ(overiding)ÇÏ¿© »ç¿ëÇÑ´Ù.
ÀνºÅϽº º¯¼ö
- Object arg : ÀüÁ¦ÀûÀÎ ÀÎÀÚ
- int clickCount : ¿¬¼ÓÀûÀΠŬ¸¯ÀÇ ¼ö, MOUSE_DOWN À̺¥Æ®¿¡¸¸ Àû¿ë
- Event evt : ´ÙÀ½ À̺¥Æ®, ¸µÅ©Æ® ¸®½ºÆ®·Î À̺¥Æ®µéÀ» ³ÖÀ»¶§ ¼³Á¤
- int id : À̺¥Æ®ÀÇ ÇüÅÂ
- int key : ´·ÁÁø ŰÀÇ °ª, Űº¸µå À̺¥Æ®¿¡¸¸ Àû¿ë
- int modifiers : modifier ۰ªÀÇ »óÅÂ
- Object target : À̺¥Æ®°¡ ¹ß»ýµÇ°Å³ª °ü·ÃµÈ ÄÄÆ÷³ÍÆ®
- long when : À̺¥Æ®ÀÇ Å¸ÀÓ ½ºÅÆÇÁ
- int x : À̺¥Æ®ÀÇ x ÁÂÇ¥
- int y : À̺¥Æ®ÀÇ y ÁÂÇ¥
¿¹) À̺¥Æ® ó¸® ¿¹Á¦
public boolean handleEvent(Event e) {
// Component ÀÇ handleEvnet()¿¡¼ ó¸®ÇÏÁö ¾Ê´Â À̺¥Æ® 󸮽Ã
// handleEvent()¸¦ ÀçÁ¤ÀÇÇÔ.
if (e.id == Event.WINDOW_DESTROY) {
dispose();
return true;
}
// ¼öÆÛŬ·¡½ºÀÇ handleEvent() ¸Þ½îµå¸¦ »ç¿ëÇÏ¿©
// ÀÌ¹Ì ¿¬°áµÇ¾îÀÖ´Â À̺¥Æ® Çڵ鷯µéÀ» »ç¿ëÇϰíÀÚ ÇÔ.
// ¸¸¾à ÇÊ¿äÇÏÁö ¾Ê´Ù¸é return false ¸¦ ¾´´Ù.
return super.handleEvent(e);
}
public boolean action(Event e, Object arg) {
/* ¾î¶² ÄÄÆ÷³ÍÆ®¿¡¼ À̺¥Æ®°¡ ¹ß»ýÇß´ÂÁö °Ë»çÇÏ¿© °¢°¢ÀÇ ±â´ÉÀ» ÄÚµùÇÑ´Ù.
ºñ±³ ¹æ¹ýÀº ¼¼°¡Áö°¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù.
1. arg Á¤º¸ ÀÌ¿ë : arg Á¤º¸°¡ °°Àº ¼·Î ´Ù¸¥ ÄÄÆ÷³ÍÆ® Á¸Àç °¡´É¼º ÀÖÀ½
if ("OK".equals(arg)) {...}
2. instanceof ÀÌ¿ë : ¿©·¯°³ÀÇ µ¿ÀÏÇÑ ÄÄÆ÷³ÍÆ® Á¸Àç½Ã ´Ù½Ã ¼±Åù® ÇÊ¿ä.
if (e.target instanceof Button) { ...}
3. Á÷Á¢ ºñ±³ : µ¿ÀÏÇÑ °´Ã¼¸íÀ» °¡Áú ¼ö ¾øÀ¸¹Ç·Î °¡Àå ¾ÈÀüÇÑ ¹æ¹ý
Button btn;
...
if (e.target == btn) { ... }
1 °ú 2 ¸¦ È¥ÇÕÇÏ¿© »ç¿ëÇÒ ¼öµµ ÀÖÀ½
*/
...
}
// À̺¥Æ® Çڵ鷯µéÀ» ÀçÁ¤ÀÇ ÇÏ¿© ±â´ÉÀ» ºÎ¿©ÇÔ.
public boolean mouseDown(Event e, int x, int y) {
if (e.modifiers == 0) {
System.out.println("Left Button Down : ( " + x +", " + y + ")");
} else if (e.modifiers == 4) {
System.out.println("Right Button Down : ( " + x +", " + y + ")");
}
return false;
}
public boolean keyDown(Event e, int key) {
System.out.println("Key Down : " + (char) key));
return false;
}
1.1.2 Button Ŭ·¡½º
- String getLabel() : ¹öưÀÇ ¶óº§À» ¾ò´Â´Ù.
- setLabel(String label) : ÇöÀç ¹öưÀÇ ¶óº§À» ÁöÁ¤ ¶óº§·Î º¯°æÇÑ´Ù.
À̺¥Æ® Á¤º¸¹× Çڵ鷯
- id - ACTON_EVENT
- arg - ¹öưÀÇ ¶óº§
- Çڵ鷯 - action()
¿¹)
Button btn = new Button("OK");
add(btn);
1.1.3 Label Ŭ·¡½º
¶óº§ ÄÄÆ÷³ÍÆ®´Â ÄÁÅ×ÀÌ³Ê ¾È¿¡ ¾²¿©Áö´Â Àбâ Àü¿ëÀÇ ÅØ½ºÆ®ÀÌ´Ù.
»ó¼ö
- final static int LEFT = 0 (µðÆúÆ®)
- final static int CENTER = 1
- fanal static int RIGHT = 2
¸Þ½îµå
- String getText() : ¶óº§ÀÇ ÅØ½ºÆ®¸¦ ¾ò´Â´Ù.
- setText(String label) : ÇöÀç ¶óº§ÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ ÅØ½ºÆ®·Î º¯°æÇÑ´Ù.
- int getAlignment() : ¶óº§ÀÇ Á¤·Ä°ªÀ» ¾ò´Â´Ù.
- setAlignment(int alignment) : ÇöÀç ¶óº§ÀÇ Á¤·Ä°ªÀ» ÁöÁ¤ Á¤·Ä°ªÀ¸·Î º¯°æÇÑ´Ù.
¿¹)
Label lbl = new Label("Are you Sure?");
add(lbl);
1.1.4 Canvas Ŭ·¡½º
À¯¿ëÇÑ ±â´ÉÀ» °¡Áö°Ô Çϱâ À§Çؼ± ÀÌ Canvas Ŭ·¡½º¸¦ »ó¼ÓÇØ¼ paint()
¸Þ½îµå¸¦ ÀçÁ¤ÀÇ(overiding)ÇØ¾ßÇÑ´Ù. ´ÜÁö Canvas Ŭ·¡½º´Â °ø¹éÀÇ
»ç°¢¿µ¿ª¸¸À» ȸ鿡 Ãâ·ÂÇÑ´Ù.
- paint(Graphics g) : ȸ鿡 ±×·¡ÇÈ ÀÛ¾÷ÀÇ °á°ú¸¦ Ãâ·Â
1.1.5 Checkbox Ŭ·¡½º
üũ¹Ú½º´Â on/off, Áï true/false »óŸ¦ °®´Â ±×·¡ÇÈ ÄÄÆ÷³ÍÆ®ÀÌ´Ù.
- String getLabel() / setLabel(String label) : üũ¹Ú½ºÀÇ ¶óº§À» ¾ò´Â´Ù./ »õ·Î¿î °ª
À¸·Î º¯°æÇÑ´Ù.
- boolean getState() / setState(boolean state) : üũ¹Ú½ºÀÇ »óŸ¦ ¾ò´Â´Ù. / »õ·Î¿î
°ªÀ¸·Î º¯°æÇÑ´Ù.
- CheckboxGroup getCheckboxGroup() / setCheckboxGroup(CheckboxGroup g) : ü
Å©¹Ú½º°¡ ¼ÓÇÑ ±×·ìÀ» ¾ò´Â´Ù. / »õ·Î¿î °ªÀ¸·Î º¯°æÇÑ´Ù.
üũ¹Ú½ºµéÀ» ±×·ìÁöÀ¸·Á¸é CheckboxGroup Ŭ·¡½ºÀÇ µµ¿òÀ» ¹Þ¾Æ¾ß
ÇÑ´Ù. µ¿ÀÏÇÑ CheckboxGroup °´Ã¼·Î ¹¿©Áø üũ¹Ú½ºµéÀº ¿ÀÁ÷ Çϳª¸¸
on »óŰ¡ µÉ¼ö ÀÖ´Ù.
À̺¥Æ® Á¤º¸¹× Çڵ鷯
- id - ACTION_EVENT
- arg - üũ¹Ú½ºÀÇ »óÅÂ
- Çڵ鷯 - action()
¿¹)
CheckboxGroup cbg = new CheckboxGroup();
Checkbox cb1 = new Checkbox("High", cbg, true);
Checkbox cb2 = new Checkbox("Middle", cbg, false);
Checkbox cb3 = new Checkbox("Low", cbg, false);
add(cb1);
add(cb2);
add(cb3);
1.1.6 Choice Ŭ·¡½º
ÃÊÀ̽º ÄÄÆ÷³ÍÆ®´Â ¼±Åà ÆË¾÷ ¸Þ´º¸¦ ³ªÅ¸³½´Ù.
- addItem(String item) : ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù.
- int countItems() : ¾ÆÀÌÅÛÀÇ °¹¼ö¸¦ ¸®ÅÏÇÑ´Ù.
- String getItem(int index) : ÁöÁ¤ ÀÎÅØ½ºÀÇ ¾ÆÀÌÅÛÀ» ¾ò´Â´Ù.
- int getSelectedIndex() : ÇöÀç ¼±ÅÃµÈ ¾ÆÀÌÅÛÀÇ À妽º¸¦ ¾ò´Â´Ù.
- String getSelectedItem() : ÇöÀç ¼±ÅÃµÈ ¾ÆÀÌÅÛÀÇ ½ºÆ®¸µ °ªÀ» ¾ò´Â´Ù.
- select(int pos) : ÁöÁ¤ À§Ä¡ÀÇ ¾ÆÀÌÅÛÀ» ¼±ÅÃÇÑ´Ù.
- select(String str) : ÁöÁ¤ ½ºÆ®¸µ°ªÀÇ ¾ÆÀÌÅÛÀ» ¼±ÅÃÇÑ´Ù.
À̺¥Æ® Á¤º¸¹× Çڵ鷯
- id - ACTION_EVENT
- arg - ÇöÀç ¼±ÅÃµÈ ¾ÆÀÌÅÛ
- Çڵ鷯 - action()
¿¹)
Choice choice = new Choice();
choice.addItem("applet");
choice.addItem("awt");
choice.addItem("io");
add(choice);
1.1.7 List Ŭ·¡½º
¸®½ºÆ® ÄÄÆ÷³ÍÆ®´Â ÀÚü ½ºÅ©·Ñ¹Ù¸¦ °¡Áö°í ÀÖÀ¸¸ç Ç׸ñÀ» ¼±ÅÃÇϰÔ
ÇÑ´Ù. ÃÊÀ̽º ÄÄÆ÷³ÍÆ®¿Í´Â ´Ù¸£°Ô ´ÙÁß ¼±ÅÃÀÌ °¡´ÉÇÏ´Ù.
- addItem(String item) : ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù.
- addItem(String item, int index) : ¾ÆÀÌÅÛÀº ÁöÁ¤ À§Ä¡¿¡ Ãß°¡ÇÑ´Ù.
- clear() : ¸®½ºÆ®ÀÇ ¸ðµç ¾ÆÀÌÅÛÀ» »èÁ¦ÇÑ´Ù.
- int countItems() : ¾ÆÀÌÅÛÀÇ °¹¼ö¸¦ ¾ò´Â´Ù.
- delItem(int position) : ÁöÁ¤ À§Ä¡ÀÇ ¾ÆÀÌÅÛÀ» »èÁ¦ÇÑ´Ù.
- public void delItems(int start, int end) : ÁöÁ¤ ¹üÀ§ÀÇ ¾ÆÀÌÅÛÀ» »èÁ¦ÇÑ´Ù.
- deselect(int index) : ÁöÁ¤ À妽ºÀÇ ¾ÆÀÌÅÛÀº ¼±ÅÃÇÏÁö ¾Ê´Â´Ù.
- String getItem(int index) : ÁöÁ¤ À妽ºÀÇ ¾ÆÀÌÅÛÀ» ¾ò´Â´Ù.
- int getRows() : ȸ鿡 º¸ÀÌ´Â ¶óÀμö¸¦ ¸®ÅÏÇÑ´Ù.
- int getSelectedIndex() : ¼±ÅõǾî ÀÖ´Â ¾ÆÀÌÅÛÀÇ À妽º¸¦ ¾ò´Â´Ù.
- int[] getSelectedIndexes() : ¼±ÅõǾîÀÖ´Â ¾ÆÀÌÅÛµéÀÇ À妽ºµéÀ» ¾ò´Â´Ù.
- String getSelectedItem() : ¼±ÅÃµÈ ¾ÆÀÌÅÛÀ» ¾ò´Â´Ù.
- String[] getSelectedItems() : ¼±ÅÃµÈ ¾ÆÀÌÅÛµéÀ» ¾ò´Â´Ù.
- boolean isSelected(int index) : ÁöÁ¤ ÀÎÅØ½ºÀÇ ¾ÆÀÌÅÛÀÌ ¼±ÅõǾîÀÖ´Â Áö¸¦ °Ë»çÇÑ
´Ù.
- makeVisible(int index) : °Á¦ÀûÀ¸·Î ÁöÁ¤ À妽ºÀÇ ¾ÆÀÌÅÛÀÌ º¸À̵µ·Ï ÇÑ´Ù.
- replaceItem(String newValue, int index) : ÁöÁ¤ À妽ºÀÇ ¾ÆÀÌÅÛÀ» »õ·Î¿î °ªÀ¸·Î
´ëüÇÑ´Ù.
- select(int index) : ÁöÁ¤ À妽ºÀÇ ¾ÆÀÌÅÛÀ» ¼±ÅÃÇÑ´Ù.
- setMultipleSelections(boolean v) : ´ÙÁß ¼±Åà ¿©ºÎ¸¦ ¼³Á¤ÇÑ´Ù.
À̺¥Æ® Á¤º¸¹× Çڵ鷯
- id - ACTION_EVENT
- arg - ¼±ÅÃµÈ ¾ÆÀÌÅÛ
- Çڵ鷯 - action()
¿¹)
List list = new List(4,false);
// visible item #, multiSelection
list.addItem("Java");
list.addItem("C");
list.addItem("C++");
list.addItem("Visual Basic");
list.addItem("Visual C++");
add(list);
1.1.8 Scrollbar Ŭ·¡½º
½ºÅ©·Ñ¹Ù´Â ÀÏÁ¤ ¹üÀ§ÀÇ °ªÀ» ¼±ÅÃÇÒ¼ö ÀÖµµ·Ï ÇØÁÖ´Â Æí¸®ÇÑ µµ±¸ÀÌ´Ù.
»ó¼ö
- final static int HORIZONTAL = 0
- final static int VERTICAL = 1
¸Þ½îµå
- setValue(int value) : ½ºÅ©·Ñ¹ÙÀÇ °ªÀ» ÁöÁ¤ÇÑ Å©±â·Î ¼³Á¤ÇÑ´Ù.
- setValues(int value, int visible, int minimum, int maximum) : ÁöÁ¤ °ªµéÀ» »õ·Ó°Ô
¼³Á¤ÇÑ´Ù.
- int getValue() : ½ºÅ©·Ñ¹ÙÀÇ °ªÀ» ¾ò´Â´Ù.
À̺¥Æ® Á¤º¸¹× Çڵ鷯
- id - SCROLL_LINE_UP/DOWN, SCROLL_PAGE_UP/DOWN,
SCROLL_ABSOLUTE
- arg - ½ºÅ©·Ñ¹ÙÀÇ °ª
- Çڵ鷯 - handleEvent()¿¡ ó¸®ÄÚµå »ðÀÔ
¿¹)
Scrollbar scroll = new Scrollbar(Scrollbar.HORIZONTAL, 0,10.0.100);
// orientation, initial value, visible size, min, max
add(scroll);
1.1.9 TextComponent Ŭ·¡½º
ÅØ½ºÆ®¸¦ ÆíÁýÇÒ ¼ö ÀÖ´Â ÄÄÆ÷³ÍÆ®µéÀÇ ¼öÆÛŬ·¡½ºÀÌ´Ù.
- setEditable(boolean t) : ÆíÁý °¡´É ¿©ºÎ¸¦ ¼³Á¤ÇÑ´Ù.
- setText(String t) : ÅØ½ºÆ®¸¦ ¼³Á¤ÇÑ´Ù.
- String getText() : ÅØ½ºÆ®¸¦ ¾ò´Â´Ù.
- String getSelectedText() : ¼±ÅÃµÈ ÅØ½ºÆ®¸¦ ¾ò´Â´Ù.
- int getSelectionStart() : ¼±ÅÃµÈ ÅØ½ºÆ®ÀÇ ½ÃÀÛ À§Ä¡¸¦ ¾ò´Â´Ù.
- int getSelectionEnd() : ¼±ÅÃµÈ ÅØ½ºÆ®ÀÇ ³¡ À§Ä¡¸¦ ¾ò´Â´Ù.
- select(int selStart, int selEnd) : ÁöÁ¤ ¹üÀ§ÀÇ ÅØ½ºÆ®¸¦ ¼±ÅÃÇÑ´Ù.
- selectAll() : ¸ðµç ÅØ½ºÆ®¸¦ ¼±ÅÃÇÑ´Ù.
Text Field Ŭ·¡½º : ÇÑ ¶óÀÎÀÇ ÅØ½ºÆ® ÆíÁý
- setEchoCharacter(char c) : ȸ鿡 Ãâ·ÂµÉ ¹®ÀÚ¸¦ ¼³Á¤ÇÑ´Ù. º¸Åë ¾ÏÈ£ ÀԷµ
»ç¿ëµÈ´Ù.
À̺¥Æ® Á¤º¸¹× Çڵ鷯
- id - ACTION_EVENT
- arg - ÅØ½ºÆ®
- Çڵ鷯 - action()
TextArea Ŭ·¡½º : ¿©·¯ ¶óÀÎÀÇ ÅØ½ºÆ® ÆíÁý
- appendText(String str) : ÁöÁ¤ ¹®ÀÚ¿À» ÇöÀç ÅØ½ºÆ®ÀÇ ¸ÇµÚ¿¡ Ãß°¡ÇÑ´Ù.
- insertText(String str, int pos) : ÁöÁ¤ ¹®ÀÚ¿À» ÁöÁ¤ À§Ä¡¿¡ »ðÀÔÇÑ´Ù.
- replaceText(String str, int start, int end) : ÁöÁ¤ ¹üÀ§ÀÇ ¹®ÀÚ¿À» »õ·Î¿î °ªÀ¸·Î
´ëüÇÑ´Ù.
¿¹)
TextField tf = new TextField(10);
tf.setEchoCharacter('*');
TextArea ta = new TextArea(10,10);
add(tf);
add(ta);
1.2 ÄÁÅ×ÀÌ³Ê¿Í ·¹À̾ƿô
ÄÁÅ×À̳ʴ ÀÚ½ÅÀÇ ¿µ¿ª¾È¿¡ ´Ù¸¥ ÄÄÆ÷³ÍÆ®(ÄÁÅ×ÀÌ³Ê Æ÷ÇÔ)¸¦ Æ÷ÇÔÇÒ
¼ö ÀÖ´Â ±â´ÉÀ» °¡Áö´Â ÄÄÆ÷³ÍÆ®ÀÌ´Ù. ¶ÇÇÑ ¿©·¯°³ÀÇ ÄÄÆ÷³ÍÆ®¸¦ Æ÷ÇÔÇϱâ
¶§¹®¿¡ ±×°ÍµéÀÇ ¹èÄ¡¸ð¾çÀ» Á¤ÇØÁÖ¿©¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ¹èÄ¡ ¹æ¹ýÀ»
Á¤ÇسõÀº °ÍÀÌ ·¹À̾ƿô ¸Å´ÏÀúµéÀ̸ç, ¸¸¾à Á¤ÇØÁÖÁø ¾Ê´Â´Ù¸é µðÆúÆ®·Î
Á¤ÇØÁ® ÀÖ´Â ·¹À̾ƿô ¸Å´ÏÀú¸¦ »ç¿ëÇÑ´Ù.
´ÙÀ½Àº ·¹À̾ƿô ¸Å´ÏÀú Ŭ·¡½º°ú ¹èÄ¡ ÇüŸ¦ º¸¿©ÁØ´Ù.
- BorderLayout : ´Ù¼¸°³ÀÇ ±¸ºÐµÈ ¿µ¿ª(North, South, West, East,Center)¿¡ ÄÄÆ÷³Í
Æ®µéÀ» ¹èÄ¡.
ÄÄÆ÷³ÍÆ®°£ÀÇ °£°ÝÀ» ÁÙ ¼öµµ ÀÖ´Ù.
- FlowLayout : Æ÷ÇԵǴ ¼ø¼¿¡ µû¶ó Áß¾ÓÀÇ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ÄÄÆ÷³ÍÆ®µéÀ» ¹è
Ä¡.
Á¤·Ä¹æ½ÄÀ» ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.
- GridLayout : ÁÖ¿©Áø Çà°ú ¿À» °°´Â µ¿ÀÏÇÑ Å©±âÀÇ °ÝÀÚ¿¡ ÄÄÆ÷³ÍÆ®µéÀ» ¹èÄ¡
- CardLayout : ƯÁ¤ À§Ä¡¿¡ ÇѼø°£¿¡ ÇϳªÀÇ Ä«µå¸¸À» ¹èÄ¡. µ¿ÀÏÇÑ À§Ä¡¿¡ ÄÄÆ÷³Í
Æ®µéÀ»
°¢±â ´Ù¸¥ ¸ð¾çÀ» °¡Áø Ä«µåµéÀ» ¹èÄ¡Çϱ⠶§¹®¿¡ ´Ù¸¥ ·¹À̾ƿô ¸Å´ÏÀú¿Í ´Ù¸£°Ô ¸Þ½îµå¸¦ °¡Áö
°í ÀÖ´Ù.
- first(Container target) : ¸ÇóÀ½ Ä«µå¸¦ º¸¿©ÁØ´Ù.
- last(Container target) : ¸Ç ¸¶Áö¸· Ä«µå¸¦ º¸¿©ÁØ´Ù.
- next(Container target) : ÇöÀç Ä«µåÀÇ ´ÙÀ½ Ä«µå¸¦ º¸¿©ÁØ´Ù.
- previous(Container target) : ÇöÀç Ä«µåÀÇ ÀÌÀü Ä«µå¸¦ º¸¿©ÁØ´Ù.
- show(Container target, String name) : ÁöÁ¤ À̸§ÀÇ Ä«µå¸¦ º¸¿©ÁØ´Ù.
- GridBagLayout : ¹èÄ¡µÇ´Â ÄÄÆ÷³ÍÆ®µéÀÇ Å©±â¸¦ ´Ù¸£°Ô ÇÒ ¼ö ÀÖ°í,
¶ÇÇÑ ¼öÆò, ¼öÁ÷À¸·Î ÄÄÆ÷³ÍÆ®¸¦ ¹èÄ¡ÇÒ ¼ö ÀÖ´Â °¡Àå À¯¿¬Çϰí Á¤±³ÇÑ ·¹À̾ƿô ¸Å´ÏÀú.
GridBagConstraint Ŭ·¡½ºÀÇ ¿©·¯ º¯¼ö°ªÀ» º¯È¯ÇÑ´ÙÀ½, setConstraints(Component
comp,
GridBagConstraint constraints)
¸Å½îµå¸¦ »ç¿ëÇÏ¿© º¯¼ö°ªÀ» ÄÄÆ÷³ÍÆ®ÀÇ ¹èÄ¡¸ð¾ç¿¡ Àû¿ëÇÑ´Ù.
1.2.1 Container Ŭ·¡½º
Container Ŭ·¡½º´Â Ãß»óŬ·¡½º·Î Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î Á÷Á¢ °´Ã¼¸¦
»ý¼ºÇÒ ¼ö ¾ø°í, À̰ÍÀÇ ¼ºê Ŭ·¡½ºµéÀ» »ç¿ëÇÑ´Ù.
- Component add(Component comp) : ÁöÁ¤ ÄÄÆ÷³ÍÆ®¸¦ ÄÁÅ×À̳ÊÀÇ ¸Ç³¡¿¡ Ãß°¡ÇÑ´Ù.
- Component add(Component comp, int pos) : ÁöÁ¤ ÄÄÆ÷³ÍÆ®¸¦ ÁöÁ¤ À§Ä¡¿¡ Ãß°¡ÇÑ
´Ù. pos°¡ -1 ÀÌ¸é ¸Ç ³¡¿¡ Ãß°¡ÇÑ´Ù.
- Component add(String name, Component comp) : À̸§À» ÁöÁ¤ÇÏ´Â BorderLayout
³ª CardLayout ¸Å´ÏÀú¿¡¼ ¿¡¼ »ç¿ëÇÑ´Ù.
- remove(Component comp) : ÁöÁ¤ ÄÄÆ÷³ÍÆ®¸¦ ÄÁÅ×À̳ʿ¡¼ Á¦°ÅÇÑ´Ù.
- removeAll() : ¸ðµç ÄÄÆ÷³ÍÆ®¸¦ ÄÁÅ×À̳ʿ¡¼ Á¦°ÅÇÑ´Ù.
- setLayout(LayoutManager mgr) : ·¹À̾ƿô ¸ÅÁöÀú¸¦ ¼³Á¤ÇÑ´Ù.
1.2.2 Panel Ŭ·¡½º
ÆÐ³ÎÀº °¡Àå °£´ÜÇÑ ÄÁÅ×À̳ÊÀÌ´Ù. À̰ÍÀº ´Ù¸¥ ¾î¶°ÇÑ ÄÄÆ÷³ÍÆ®(´Ù¸¥
ÆÐ³Îµµ Æ÷ÇÔ) µµ ÀÚ½ÅÀÇ °ø°£¾È¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
À̰ÍÀÇ µðÆúÆ® ·¹À̾ƿô ¸Å´ÏÀú´Â FlowerLayoutÀÌ´Ù.
¿¹)
Panel pnl = new Panel();
pnl.add(new Button("OK");
pnl.add(new Button("Cancel");
add(pnl);
1.2.3 Window Ŭ·¡½º
Window´Â ž·¹º§ À©µµ¿ì ÄÄÆ÷³ÍÆ®ÀÌ´Ù. º¸´õ(border)¿Í ¸Þ´º¹Ù¸¦ °¡Áö°í
ÀÖÁö ¾Ê´Ù. À̰ÍÀÇ µðÆúÆ® ·¹À̾ƿô ¸Å´ÏÀú´Â BorderLayout ÀÌ´Ù.
- dispose() : À©µµ¿ì°¡ »ç¿ëÇÑ ÀÚ¿øÀ» ȸ¼öÇÑ´Ù.
- Toolkit getToolkit() : µðÆúÆ® ŸŶÀ» ¸®ÅÏÇÑ´Ù.
- final String getWarningString() : °æ°í ¹®ÀÚ¿À» ¾ò´Â´Ù.
- pack() : À©µµ¿ì¿¡ Æ÷ÇÔµÈ ÄÄÆ÷³ÍÆ®µéÀ» ÀûÁ¤ Å©±â·Î ·¹À̾ƿôÇÑ´Ù.
- show() : ȸ鿡 º¸¿©ÁØ´Ù.
- toBack() : À©µµ¿ì¸¦ µÚ·Î º¸³½´Ù.
- toFront() : À©µµ¿ì¸¦ ¾ÕÀ¸·Î °¡Á®¿Â´Ù.
1.2.4 Frame Ŭ·¡½º
ŸÀÌÆ²°ú º¸´õ¸¦ °¡Áö´Â ž·¹º§ À©µµ¿ì. ¶ÇÇÑ ¸Þ´º¹Ù¸¦ °¡Áú¼ö ÀÖÀ¸¸ç
Ä¿¼¿Í ¾ÆÀÌÄÜ À̹ÌÁö¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. À̰ÍÀÇ µðÆúÆ® ·¹À̾ƿô
¸Å´ÏÀú´Â BorderLayout ÀÌ´Ù. ÁÖ·Î ¾îÇø®ÄÉÀ̼ÇÀÇ ¸ÞÀÎ À©µµ¿ì·Î
»ç¿ëµÈ´Ù.
- dispose() : ÇÁ·¹ÀÓÀÌ »ç¿ëÇÑ ÀÚ¿øÀ» ȸ¼öÇÑ´Ù.
- int getCursorType() : Ä¿¼ ÇüŸ¦ ¾ò´Â´Ù.
- MenuBar getMenuBar() : ¸Þ´º¹Ù¸¦ ¾ò´Â´Ù.
- String getTitle() : ŸÀÌÆ²À» ¾ò´Â´Ù.
- boolean isResizable() : Å©±â ÀçÁ¶Á¤ ¿©ºÎ¸¦ °Ë»çÇÑ´Ù.
- remove(MenuComponent m) : ÇÁ·¹ÀÓÀ¸·ÎºÎÅÍ ÁöÁ¤ ¸Þ´º¸¦ Á¦°ÅÇÑ´Ù.
- setCursor(int cursorType) : Ä¿¼ ¸ð¾çÀ» ¼³Á¤ÇÑ´Ù.
- setMenuBar(MenuBar mb) : ÁöÁ¤ ¸Þ´º¹Ù¸¦ ÇÁ·¹ÀÓÀÇ ¸Þ´º¹Ù·Î ¼³Á¤ÇÑ´Ù.
- setResizable(boolean resizable) : Å©±â ÀçÁ¶Á¤ ¿©ºÎ¸¦ ¼³Á¤ÇÑ´Ù.
- setTitle(String title) : ŸÀÌÆ²À» ¼³Á¤ÇÑ´Ù.
¿¹)
import java.awt.*;
public class MainWin extends Frame {
public MainWin() {
super("Main Window");
Panel p = new Panel();
add(new Button("OK"));
add(new Button("Cancel"));
add("South", p);
pack();
}
public static void main(String args[]) {
MainWin win = new MainWin();
win.resize(200,200);
win.show();
}
}
1.2.5 Dialog Ŭ·¡½º
»ç¿ëÀÚ¿¡°Ô ÀϽÃÀûÀÎ Á¤º¸¸¦ º¸¿©Áְųª Á¤º¸¸¦ ¾ò±âÀ§ÇÑ À©µµ¿ìÀÌ´Ù.
À̰ÍÀÇ µðÆúÆ® ·¹À̾ƿô ¸Å´ÏÀú´Â BorderLayoutÀÌ´Ù.
- String getTitle() : ŸÀÌÆ²À» ¾ò´Â´Ù.
- setTitle(String title) : Á¦¸ñÀ» ¼³Á¤ÇÑ´Ù.
- boolean isResizable() : Å©±â ÀçÁ¶Á¤ ¿©ºÎ¸¦ °Ë»çÇÑ´Ù.
- setResizable(boolean resizable) : Å©±â ÀçÁ¶Á¤ ¿©ºÎ¸¦ ¼³Á¤ÇÑ´Ù.
1.2.6 FileDialog Ŭ·¡½º
»ç¿ëÀڷκÎÅÍ ÈÀÏ ¼±ÅÃÀ» °¡´ÉÇÏ°Ô ÇØÁÖ´Â ´ÙÀ̾ó·Î±× À©µµ¿ìÀÌ´Ù.
»ó¼ö
- final static int LOAD = 0
- final static int SAVE = 1
¸Þ½îµå
- String getDirectory() : µð·ºÅ丮¸¦ ¾ò´Â´Ù.
- String getFile() : ÇöÀç ¼±ÅÃµÈ ÈÀÏÀ» ¾ò´Â´Ù.
- int getMode() : ÈÀÏ ´ÙÀ̾ó·Î±×ÀÇ ¸ðµå¸¦ ¾ò´Â´Ù.
- setDirectory(String dir) : ÁöÁ¤ ¹®ÀÚ¿À» ¼±Åà µð·ºÅ丮·Î ¼³Á¤ÇÑ´Ù.
- setFile(String file) : ÁöÁ¤ ¹®ÀÚ¿À» ¼±Åà ÈÀÏ·Î ÁöÁ¤ÇÑ´Ù.
¿¹) FileDialog¿¡¼ÀÇ ÈÀϼ±Åà ¹æ¹ýÀÌ´Ù.
public boolean action(Event e, Object arg) {
if ("Open".equals(arg)) {
fd = new FileDialog(this, "Open", FileDialog.LOAD);
fd.show();
// ÇöÀç ¼±ÅÃµÈ ÈÀϸíÀ» °¡Á®¿Â´Ù.
String file = fd.getFile();
// ÈÀÏÀ» ¿¾î Á¤º¸¸¦ °¡Á®¿À´Â Äڵ尡 ÇÊ¿äÇÏ´Ù.
...
return true;
}
}
1.3 ¸Þ´º ÄÄÆ÷³ÍÆ®
1.3.1 MenuComponent Ŭ·¡½º
¸ðµç ¸Þ´º ÄÄÆ÷³ÍÆ®µéÀÇ ¼öÆÛŬ·¡½º·Î Ãß»óŬ·¡½º·Î Á¤ÀǵǾîÀÖ´Ù.
- setFont(Font f) : ¸Þ´º ÄÄÆ÷³ÍÆ®ÀÇ ÆùÆ®¸¦ ¼³Á¤ÇÑ´Ù.
- Font getFont() : ¸Þ´º ÄÄÆ÷³ÍÆ®ÀÇ ÆùÆ®¸¦ ¾ò´Â´Ù.
- MenuContainer getParent() : ¸Þ´ºÄÄÆ÷³ÍÆ®¸¦ Æ÷ÇÔÇÏ´Â ¸Þ´º ÄÄÆ÷³ÍÆ®¸¦ ¾ò´Â´Ù.
- boolean postEvent(Event evt) : ¸Þ´ºÄÄÆ÷³ÍÆ®ÀÇ À̺¥Æ®¸¦ handleEvent()·Î Àü´ÞÇÑ
´Ù.
1.3.2 MenuBar Ŭ·¡½º
ÇÁ·¹ÀÓ¿¡ Æ÷ÇԵǴ ¸Þ´º¹Ù ÄÄÆ÷³ÍÆ®ÀÌ´Ù.
ÇÁ·¹ÀÓ¿¡ ¸Þ´º¹Ù¸¦ Æ÷ÇÔÇÏ·Á¸é Frame Ŭ·¡½ºÀÇ setMenubar() ¸Þ½îµå¸¦
È£ÃâÇØ¾ß ÇÑ´Ù.
- Menu add(Menu m) : ¸Þ´º¹Ù¿¡ ÁöÁ¤ ¸Þ´º¸¦ Ãß°¡ÇÑ´Ù.
- remove(int index) : ÁöÁ¤À§Ä¡ÀÇ ¸Þ´º¸¦ Á¦°ÅÇÑ´Ù.
- remove(MenuComponent m) : ÁöÁ¤ ¸Þ´º ÄÄÆ÷³ÍÆ®¸¦ Á¦°ÅÇÑ´Ù.
- Menu getMenu(int i) : ÁöÁ¤À§Ä¡ÀÇ ¸Þ´º¸¦ ¾ò´Â´Ù.
- Menu getHelpMenu() : ¸Þ´º¹ÙÀÇ µµ¿ò¸» ¸Þ´º¸¦ ¾ò´Â´Ù.
- setHelpMenu(Menu m) : ÁöÁ¤ ¸Þ´º¸¦ µµ¿ò¸» ¸Þ´º·Î ¼³Á¤ÇÑ´Ù.
- int countMenus() : ¸Þ´º¹ÙÀÇ ¸Þ´ºµéÀÇ °¹¼ö¸¦ ¸®ÅÏÇÑ´Ù.
1.3.3 MenuItem Ŭ·¡½º
¸Þ´º¾ÈÀÇ ¸ðµç ¾ÆÀÌÅÛµéÀº MenuItem Ŭ·¡½º³ª À̰ÍÀÇ ¼ºê Ŭ·¡½ºÀÌ¿©¾ß
ÇÑ´Ù.
- disable() : ¸Þ´º ¾ÆÀÌÅÛÀ» µ¿ÀÛ ¸øÇÏ°Ô ÇÑ´Ù.
- enable() : ¸Þ´º ¾ÆÀÌÅÛÀº µ¿ÀÛÇϵµ·Ï ÇÑ´Ù.
- enable(boolean cond) : true ¸é µ¿ÀÛÇϰí, false¸é µ¿ÀÛ¸øÇÏ°Ô ÇÑ´Ù.
- boolean isEnabled() : ¸Þ´ºÀÇ µ¿ÀÛ »óŸ¦ ¾ò´Â´Ù.
- String getLabel() : ¸Þ´ºÀÇ ¶óº§À» ¾ò´Â´Ù.
- setLabel(String label) : ÁöÁ¤ ¶óº§·Î º¯°æÇÑ´Ù.
1.3.4 Menu Ŭ·¡½º
¸Þ´º´Â ¸Þ´º¹ÙÀÇ Ç®´Ù¿î ÄÄÆ÷³ÍÆ®À̸ç, tear-off ¸Þ´º·Î ¸¸µé ¼öµµ
ÀÖ´Ù.
- MenuItem add(MenuItem mi) : ÁöÁ¤ ¸Þ´º ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù. ¼ºê
¸Þ´º¸¦ ¸¸µé°í ½Í´Ù¸é ¸Å°³º¯¼ö·Î Menu °´Ã¼¸¦ ³ÖÀ¸¸é µÈ´Ù.
- add(String label) : ÁöÁ¤ ¶óº§ÀÇ ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù.
- addSeparator() : Çö À§Ä¡¿¡ ±¸ºÐ¼±À» Ãß°¡ÇÑ´Ù.
- remove(int index) : ÁöÁ¤ À§Ä¡ÀÇ ¾ÆÀÌÅÛÀ» »èÁ¦ÇÑ´Ù.
- remove(MenuComponent item) : ÁöÁ¤ ¸Þ´ºÄÄÆ÷³ÍÆ®¸¦ »èÁ¦ÇÑ´Ù.
- MenuItem getItem(int index) : ÁöÁ¤ À妽ºÀÇ ¾ÆÀÌÅÛÀ» ¾ò´Â´Ù.
- int countItems() : ¸Þ´ºÀÇ ¾ÆÀÌÅÛ °¹¼ö¸¦ ¾ò´Â´Ù.
1.3.5 CheckboxMenuItem Ŭ·¡½º
¸Þ´º¿¡ Æ÷ÇԵǴ üũ¹Ú½º¸¦ ±¸ÇöÇÑ´Ù.
- boolean getState() : »óŸ¦ ¾ò´Â´Ù.
- setState(boolean t) : »óŸ¦ ¼³Á¤ÇÑ´Ù.
¿¹) °¢Á¾ ¸Þ´ºÄÄÆ÷³ÍÆ®µéÀ» »ç¿ëÇÏ¿© Ç®´Ù¿î ¸Þ´º¸¦ ¸¸µå´Â ¿¹ÀÌ´Ù.
Frame f = new Frame("Example Menu");
MenuBar mbar = new MenuBar();
Menu m1 = new Menu("File");
m1.add(new MenuItem("Open"));
m1.add(new CheckboxMenuItem("Show Java Console"));
Menu sub = new Menu("Document Encoding");
sub.add(new MenuItem("English"));
sub.add(new MenuItem("Korean"));
m1.add(sub);
m1.addSeparator();
m1.add(new MenuItem("Quit"));
Menu m2 = new Menu("Help");
m2.add(new MenuItem("About..."));
m2.add(new MenuItem("How to..."));
mbar.add(m1);
mbar.setHelpMenu(m2);
f.setMenuBar(mbar);
1.3 ±×¹ÛÀÇ Å¬·¡½ºµé
1.3.1 Graphics Ŭ·¡½º
¾îÇø®ÄÉÀ̼ǿ¡¼ ÄÄÆ÷³ÍÆ®³ª off-screen À̹ÌÁöÀ¸·ÎÀÇ ±×¸®±âÀ» °¡´ÉÇϰÔ
ÇØÁÖ´Â ¸ðµç graphics context¸¦ À§ÇÑ Ãß»óŬ·¡½ºÀÌ´Ù.
- clearRect(int x, int y, int width, int height) : ÁöÁ¤ »ç°¢¿µ¿ªÀ» Áö¿î´Ù.
- clipRect(int x, int y, int width, int height) : ÁöÁ¤ »ç°¢¿µ¿ªÀ» Ŭ¸®ÇÎ ¿µ¿ªÀ¸·Î ¼³
Á¤ÇÑ´Ù.
- copyArea(int x, int y, int width, int height, int dx, int dy) : ÁöÁ¤ »ç°¢¿µ¿ªÀ» dx,
dy ¶³¾îÁø °÷¿¡ º¹»çÇÑ´Ù.
- drawLine(int x1, int y1, int x2, int y2) : Á÷¼±À» ±×¸°´Ù.
- draw/fillRect(int x, int y, int width, int height) : »ç°¢ÇüÀ» ±×¸°´Ù/ä¿î´Ù.
- draw/fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
: ¸ð¼¸®°¡ µÕ±Ù »ç°¢ÇüÀ» ±×¸°´Ù/ä¿î´Ù.
- draw/fill3DRect(int x, int y, int width, int height, boolean raised) : »ïÂ÷¿ø »ç°¢Çü
À» ±×¸°´Ù/ä¿î´Ù.
- draw/fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) : ¿ø
È£¸¦ ±×¸°´Ù/ä¿î´Ù.
- draw/fillOval(int x, int y, int width, int height) : Ÿ¿øÀ» ±×¸°´Ù/ä¿î´Ù..
- draw/fillPolygon(int xPoints[], int yPoints[], int nPoints) : ´Ù°¢ÇüÀ» ±×¸°´Ù/ä¿î
´Ù.
- drawBytes(byte data[], int offset, int length, int x, int y) : byte ¹è¿ ¹®ÀÚ¸¦ Ãâ
·ÂÇÑ´Ù.
- drawChars(char data[], int offset, int length, int x, int y) : char ¹è¿ ¹®ÀÚ¸¦ Ãâ
·ÂÇÑ´Ù.
- drawString(String str, int x, int y) : ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù.
- boolean drawImage(Image img, int x, int y, ImageObserver observer) : ÁöÁ¤ À̹Ì
Áö¸¦ ÁöÁ¤ À§Ä¡¿¡ ±×¸°´Ù.
- setPaintMode() : °ãħ ºÒ°¡ ¸ðµå·Î ¼³Á¤ÇÑ´Ù.(µðÆúÆ®)
- setXORMode(Color c1) : °ãħ Çã¿ë ¸ðµå·Î ¼³Á¤ÇÑ´Ù.
- setColor(Color c) : »ö±òÀ» ¼³Á¤ÇÑ´Ù.
- Color getColor() : ¼³Á¤µÇ¾î ÀÖ´Â »ö±òÀ» ¾ò´Â´Ù.
- setFont(Font font) : ÆùÆ®¸¦ ¼³Á¤ÇÑ´Ù.
- Font getFont() : ¼³Á¤µÇ¾î ÀÖ´Â ÆùÆ®¸¦ ¾ò´Â´Ù.
- FontMetrics getFontMetrics(Font f) : ÁöÁ¤ ÆùÆ®ÀÇ Å©±â¸¦ Ãø·®ÇÒ ¼ö ÀÖ´Â
FontMetrics °´Ã¼¸¦ ¾ò´Â´Ù.
- translate(int x, int y) : ÁÂÇ¥°è¸¦ x, y ¸¸Å À̵¿½ÃŲ´Ù.
¿¹)
public void paint(Graphics g) {
g.setColor(Color.red);
g.setFont(new Font(" TimesRoman",Font.BOLD, 20);
g.drawRect(10,10,100,100);
g.drawString("Graphics Methods" 10,40);
}
1.3.2 Color Ŭ·¡½º
RGB Çü½ÄÀ» »ç¿ëÇÏ´Â »öÀ» ĸ½¶ÈÇÑ Å¬·¡½ºÀÌ´Ù. °¢ ¼ººÐÀº 0¿¡¼
255ÀÇ °ªÀ» °¡Áø´Ù. ÀÌ Å¬·¡½º¿¡´Â ´ÙÀ½°ú °°Àº final static Color
º¯¼ö°¡ ÀÖ¾î »ç¿ë¿¡ ÆíÀǸ¦ ÁÖ°í ÀÖ´Ù.
black, blue, cyan, darkGray, gray, green, lightGray, magenta,
orange, pink, red, white, yellow
¿¹) ¾Æ·¡´Â ¼·Î µ¿ÀÏÇÑ °ªÀ» ³ªÅ¸³½´Ù.
- new Color(255,255,255)
- new Color(0xffffff)
- Color.white
1.3.3 Font Ŭ·¡½º
ÆùÆ®¸¦ ³ªÅ¸³»´Â Ŭ·¡½º·Î ¼¼°¡Áö Á¤º¸¸¦ ÁöÁ¤ÇÑ´Ù.
- Name - ÆùÆ®ÀÇ ³í¸®Àû À̸§.
- Style - ÆùÆ®ÀÇ ½ºÅ¸ÀÏ PLAIN, BOLD, ITALIC À¸·Î Á¶ÇÕÇÏ¿© »ç¿ëÇÑ´Ù.
- Size - ÆùÆ®ÀÇ Å©±â
¿¹) new Font("TimesRoman", Font.BOLD+Font.ITALIC, 20);
1.3.4 FontMetrics Ŭ·¡½º
ÁöÁ¤ ÆùÆ®ÀÇ Å©±â¸¦ ÃøÁ¤ÇÏ¿© ƯÁ¤À§Ä¡¿¡ ¹®ÀÚµéÀ» ³õ´Âµ¥ »ç¿ëÇÑ´Ù.
1.3.5 Image Ŭ·¡½º
Ãß»óŬ·¡½º·Î À̹ÌÁö¸¦ ³ªÅ¸³»´Â ¸ðµç Ŭ·¡½ºÀÇ ¼öÆÛŬ·¡½º ÀÌ´Ù.
- flush() : Image °´Ã¼°¡ »ç¿ëÇÏ´ø ¸ðµç ÀÚ¿øÀ» ȸ¼öÇÑ´Ù.
- Graphics getGraphics() : off-screen À̹ÌÁö¸¦ ±×¸®±â À§ÇØ ±×·¡ÇÈ ÄÁÅØ½ºÆ®¸¦ »ý¼º
ÇÑ´Ù. ´õºí¹öÆÛ¸µ¿¡ »ç¿ëµÈ´Ù.
- ImageProducer getSource() : À̹ÌÁöÀÇ Çȼ¿À» ¸¸µå´Â À̹ÌÁö »ý»ê
ÀÚ
(ImageProducer)¸¦ ¾ò´Â´Ù.
- int getHeight(ImageObserver observer) : À̹ÌÁöÀÇ ³ôÀ̸¦ ¾ò´Â´Ù.
- int getWidth(ImageObserver observer) : À̹ÌÁöÀÇ ³Êºñ¸¦ ¾ò´Â´Ù.
1.3.6 MediaTracker Ŭ·¡½º
MediaTracker ´Â ¸¹Àº ¹Ìµð¾î °´Ã¼ÀÇ »óŸ¦ ÃßÀûÇϱâ À§ÇÑ À¯Æ¿¸®Æ¼
Ŭ·¡½ºÀÌ´Ù. ¹Ìµð¾î °´Ã¼´Â À̹ÌÁö»Ó¾Æ´Ï¶ó ¿Àµð¾î Ŭ¸³À» ¸»ÇÑ´Ù.
±×·¯³ª ÇöÀç´Â À̹ÌÁö¿¡¸¸ Áö¿øµÈ´Ù.
- addImage(Image image, int id) : ÃßÀûÇϰíÀÚ ÇÏ´Â À̹ÌÁö¸¦ ÁöÁ¤
¾ÆÀ̵ð·Î ¸®½ºÆ®¿¡ Ãß°¡ÇÑ´Ù. ¾Æ·¡ÀÇ ¸Þ½îµåµéÀº ¹Ýµå½Ã addImage()·Î
Ãß°¡µÈ À̹ÌÁö¿¡ Àû¿ëµÈ´Ù.
- boolean checkAll() : ÃßÀûÇϰíÀÚ ÇÏ´Â ¸ðµç À̹ÌÁöÀÇ ·ÎµùÀÌ
¿Ï·áµÇ¾ú´ÂÁö¸¦ °Ë»çÇÑ´Ù.
- boolean checkAll(boolean load) : ÃßÀûÇϰíÀÚ ÇÏ´Â ¸ðµç À̹ÌÁöÀÇ
·ÎµùÀÌ ¿Ï·áµÇ¾ú´ÂÁö¸¦ °Ë»çÇÑ´Ù. ¸Å°³º¯¼ö°¡ trueÀÌ¸é ¾ÆÁ÷ ·ÎµåµÇÁö
¾ÊÀº À̹ÌÁö¸¦ ·ÎµùÇÑ´Ù.
- boolean checkID(int id) : ÁöÁ¤ ¾ÆÀ̵𸦠°¡Áø À̹ÌÁö°¡ ·ÎµåµÇ¾ú´ÂÁö¸¦ °Ë»çÇÑ´Ù.
- boolean checkID(int id, boolean load) : ÁöÁ¤ ¾ÆÀ̵𸦠°¡Áø
À̹ÌÁö°¡ ·ÎµåµÇ¾ú´ÂÁö¸¦ °Ë»çÇÑ´Ù. ¸Å°³º¯¼ö°¡ trueÀÌ¸é ·Îµå¸¦ ´Ù½Ã ·ÎµùÇÑ´Ù.
- waitForAll() : ÃßÀûÇϰíÀÚÇÏ´Â ¸ðµç À̹ÌÁö°¡ ·ÎµåµÉ¶§±îÁö ´Ù¸¥ ½ÇÇàÀ» ¸·´Â´Ù.
- waitForID(int id) : ÁöÁ¤ ¾ÆÀ̵ðÀÇ À̹ÌÁö°¡ ·ÎµåµÉ¶§±îÁö ´Ù¸¥ ½ÇÇàÀ» ¸·´Â´Ù.
¿¹) ´ÙÀ½Àº ¾ÖÇø´¿¡¼ MediaTracker¸¦ »ç¿ëÇÏ´Â °£´ÜÇÑ »ç¿ë¿¹ÀÌ´Ù.
MediaTracker tracker;
Image img;
public void init() {
tracker = new MediaTracker(this);
img = getImage(getDocumentBase(), "image/sample.gif");
addImage(img, 0);
try {
waitForID(0);
} catch (InterruptedException e) {
break;
}
}
1.3.7 Tookit Ŭ·¡½º
Toolkit Ŭ·¡½º´Â Ãß»óŬ·¡½ºÀ̸ç, AWTÀÇ ¸ðµç ½ÇÁ¦ÀûÀÎ ±¸ÇöÀÇ ¼öÆÛŬ·¡½ºÀÌ´Ù.
- static Toolkit getDefaultToolkit() : µðÆúÆ® ŸŶÀ» ¾ò´Â´Ù.
- String[] getFontList() : À̿밡´ÉÇÑ ÆùÆ®µéÀÇ À̸§À» ¾ò´Â´Ù.
- Image getImage(String filename) : ÁöÁ¤ ÈÀÏÀÇ À̹ÌÁö¸¦ ¾ò´Â´Ù.
º¸Åë ¾îÇø®ÄÉÀ̼ǿ¡¼ À̹ÌÁöÀÇ ·Îµù¿¡ »ç¿ëµÈ´Ù.
- Image getImage(URL url) : ÁöÁ¤ URL¿¡¼ À̹ÌÁö¸¦ °¡Á®¿Â´Ù.
- Dimension getScreenSize() : ½ºÅ©¸°ÀÇ Å©±â¸¦ ¾ò´Â´Ù.
- sync() : ŸŶÀÇ ±×·¡ÇÈ »óŸ¦ µ¿±âÈÇÑ´Ù. ÀÌ ¸Þ½îµå´Â ȸéÃâ·ÂÀ» °»½ÅÇϰԲû ÇÑ
´Ù.
¿¹) ´ÙÀ½Àº ¾îÇø®ÄÉÀ̼ǿ¡¼ À̹ÌÁö¸¦ ·ÎµùÇϱâ À§ÇØ ToolkitÀ» »ç¿ëÇÑ
°£´ÜÇÑ ¿¹ÀÌ´Ù.
Image img;
Toolkit toolkit = Toolkit.getDefaultToolkit();
img = toolkit.getImage("image/sample.gif");
À§ÀÇ Å¬·¡½º À̿ܿ¡µµ awt ÆÐŰÁö¿¡´Â
´ÙÀ½°ú °°Àº Ŭ·¡½ºµéÀÌ ÀÖ´Ù.
- Point Ŭ·¡½º - ÁÂÇ¥½Ö, (x, y)
- Dimension Ŭ·¡½º - ¸éÀû, (width, height)
- Rectangle Ŭ·¡½º - »ç°¢¿µ¿ª, (x, y, width, height)
- Polygon Ŭ·¡½º - ÁÂÇ¥½Ö ¹è¿, (x[], y[] )
2. java.awt.image ÆÐŰÁö
java.awt.image ÆÐŰÁö´Â Àú ¼öÁØÀÇ À̹ÌÁö µ¥ÀÌÅÍ Ã³¸®¸¦ À§ÇÑ Å¬·¡½ºµé°ú
ÀÎÅÍÆäÀ̽º·Î ±¸¼ºµÇ¾î ÀÖ´Ù. Å©°Ô À̹ÌÁö »ý»êÀÚµé(ImageProducers),
À̹ÌÁö ¼ÒºñÀÚµé(ImageConsummers), Ä÷¯¸ðµ¨µé(ColorModels), ±×¸®°í
À̹ÌÁö °üÂûÀÚ(ImageObsever)·Î ±¸¼ºµÇ¾îÀÖ´Ù.
Classes
java.awt.image.MemoryImageSource (implements java.awt.image.ImageProducer)
java.awt.image.FilteredImageSource (implements java.awt.image.ImageProducer)
java.awt.image.PixelGrabber (implements java.awt.image.ImageConsumer)
java.awt.image.ImageFilter (implements java.awt.image.ImageConsumer)
java.awt.image.CropImageFilter
java.awt.image.RGBImageFilter
java.awt.image.ColorModel
java.awt.image.DirectModel
java.awt.image.IndexColorModel
Interfaces
java.awt.image.ImageObserver
java.awt.image.ImageProducer
java.awt.image.ImageConsumer
3. java.awt.peer ÆÐŰÁö
java.awt.peer ´Â AWT ÄÄÆ÷³ÍÆ®µéÀ» Motif widgets ³ª MS Windows
ÄÁÆ®·Ñ°ú °°Àº Ç÷§Æû ƯÁ¤ ±¸Çö¿¡ ¿¬°áÇØÁÖ´Â ÆÐŰÁöÀÌ´Ù. ÀÌ ÆÐŰÁö¿¡´Â
Ŭ·¡½º´Â Á¤ÀǵǾî ÀÖÁö ¾Ê°í, AWT ÄÄÆ÷³ÍÆ®¿Í °ü·ÃµÈ ÀÎÅÍÆäÀ̽º¸¸
Á¸ÀçÇÑ´Ù.
4. java.applet ÆÐŰÁö
java.applet ÆÐŰÁö´Â ÀÚ¹Ù ¾ÖÇø´ ÀÛ¼ºÀ» À§ÇØ ²À ÇÊ¿äÇÑ Applet
Ŭ·¡½º¿Í ¾ÖÇø´¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î¸î ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í ÀÖ´Ù.
(*java.awt.Panel)
java.applet.Applet
¾ÖÇø´Àº ¾îÇø®ÄÉÀ̼ǰú´Â ´Þ¸® main()
¸Þ½îµå¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¸ç,
´ë½Å Applet Ŭ·¡½ºÀÇ
init(), start(), stop(), destroy()
¸Þ½îµåµîÀ» ÀçÁ¤ÀÇÇÏ¿© µ¿ÀÛÀ» ÇϰԵȴÙ.
¾ÖÇø´Àº À¥ ºê·Î¿ìÁ®¿¡¼ ½ÇÇàµÇ±â À§Çؼ HTML¹®¼¿¡
<applet> ű׸¦ »ç¿ëÇÏ¿©
µ¿ÀÛÇÒ ¹ÙÀÌÆ® ÄÚµåÀÎ class ÆÄÀÏÀ»
ÁöÁ¤ÇÑ´Ù.
¿¹)
<APPLET CODE = sample.class WIDTH=300 HEIGHT = 300>
</APPLET>
4.1 Applet Ŭ·¡½º
¸ðµç ¾ÖÇø´, Áï ÀÚ¹Ù¸¦ Áö¿øÇÏ´Â ºê·Î¿ìÁ®¿¡¼ µ¿ÀÛÇÏ´Â ÇÁ·Î±×·¥Àº
¹Ýµå½Ã Applet Ŭ·¡½º¸¦ »ó¼ÓÇØ¾ßÇÑ´Ù. Applet Ŭ·¡½º´Â ¶ÇÇÑ ¾ÖÇø´°ú
±×°ÍÀÇ È¯°æ»çÀÌ¿¡ Ç¥ÁØ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù.
- init() : ¾ÖÇø´ÀÌ ·ÎµåµÉ¶§ È£ÃâµÇ¸ç, º¸Åë º¯¼öµéÀÇ Ãʱâȸ¦ Çϴµ¥ »ç¿ëµÈ´Ù.
- start() : init() ¸Þ½îµå ´ÙÀ½¿¡ ½ÇÇàµÇ¸ç, º¸Åë ¾Ö´Ï¸ÞÀ̼ǰú
°°Àº ¾ÖÇø´¿¡¼ ½ÇÇàµÇ´Â °ÍÀ» ½ÃÀÛÇÏ°Ô Çϴµ¥ »ç¿ëµÈ´Ù.
- stop() : ¾ÖÇø´ÀÌ Æ÷ÇÔµÈ ¹®¼¸¦ ¶°³¯¶§ È£ÃâµÇ¸ç, ¸ðµç ¾ÖÇø´¿¡¼
½ÇÇàµÇ´Â °ÍµéÀ» ÁßÁö½Ã۴µ¥ »ç¿ëµÈ´Ù.
- destroy() : ¾ÖÇø´ÀÌ »ç¿ëÇÑ´ø ¾²·¹µå¿Í °°Àº ÀÚ¿øÀ» »ç¿ëÇÏ´Â
°ÍµéÀ» ¾ø¾Ø´Ù. ±×·¯³ª º¸Åë stop() ¸Þ½îµå°¡ ÀÌ·± ÀÏÀ» Çϱ⠶§¹®¿¡ »ç¿ëÇÏ´Â ÀÏÀº µå¹°´Ù.
À§ÀÇ ¸Þ½îµåµéÀº ¾ÖÇø´ÀÇ Life Cycle°ú °ü·ÃµÈ ¸Þ½îµåµéÀÌ¸ç ¾ÖÇø´¿¡¼
¹Ýµå½Ã ÀçÁ¤ÀÇ ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¿¹¸¦ µé¾î ´ÜÁö À¥ ºê·Î¿ìÁ®»ó¿¡ ÅØ½ºÆ®¸¦
Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÎ °æ¿ì À§ÀÇ 4°¡Áö ¸Þ½îµåµéÀº ÀçÁ¤ÀÇ ÇÒ Çʿ䰡
¾øÀ» °ÍÀÌ´Ù. ´ÙÀ½ÀÇ ¿¹Á¦¸¦ ÅëÇØ ¾ÖÇø´ÀÌ ¾î¶»°Ô µ¿À۵Ǵ°¡¸¦ º¸µµ·Ï
ÇÏÀÚ.
¿¹)
import java.awt.*;
import java.applet.Applet;
public class AppletSample extends Applet {
public void init() {
System.out.println("Initialize...")
}
public void start() {
System.out.println("Start...");
}
public void stop() {
System.out.println("Stop...");
}
public void destroy() {
System.out.println("Destroy...");
}
}
- URL getCodeBase() : ¾ÖÇø´ÀÇ URLÀ» ¾ò´Â´Ù.
- URL getDocumentBase() : ¾ÖÇø´À» Æ÷ÇÔÇÏ´Â ¹®¼ÀÇ URLÀ» ¾ò´Â´Ù.
- String getParameter(String name) : HTMLÀÇ <PARAM>ű׸¦
ÅëÇØ nameÀ¸·Î ÁöÁ¤µÈ º¯¼öÀÇ °ªÀ» ¾ÖÇø´À¸·Î °¡Á®¿Â´Ù. ÀÌ·± ¹æ¹ýÀº
º¯¼öÀÇ °ªÀÌ º¯°æµÇ¾îµµ ¾ÖÇø´À» ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê¾Æµµ µÇ±â ¶§¹®¿¡
À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Ù. ÁÖÀÇÇÒ Á¡Àº ÀÌ ¸Þ½îµå·Î ¸®ÅϵǴ °ªÀº
StirngÀ̱⠶§¹®¿¡ Á¤¼ö º¯¼ö¸¦ »ç¿ëÇϱâ À§Çؼ± Integer.parseInt(String)¸Þ½îµå¸¦
»ç¿ëÇÏ¿© int °ªÀ¸·Î º¯È¯ÇØ¾ß ÇÑ´Ù.
// HTML file
<applet code=SampleApplet.class width=300 height=300>
<param name="str" value="Welcome!!!">
<param name="delay" value="100">
</applet>
// java file
String message;
int wait;
public void init() {
String str = getParameter("text");
message = (str != null) ? str : "Default Text";
str = getParameter("delay");
delay = (str != null) ? Integer.parseInt(str) : 1000;
}
- Image getImage(URL url) : ÁöÁ¤ URLÀÇ À̹ÌÁö¸¦ ¾ò´Â´Ù.
- Image getImage(URL url, String name) : ÁöÁ¤ URLÀÇ ÁöÁ¤ À̹ÌÁö¸¦ ¾ò´Â´Ù.
- play(URL url) : ÁÖ¾îÁø URLÀÇ ¿Àµð¿À ÈÀÏÀ» ½ÇÇà½ÃŲ´Ù.
- play(URL url, String name) : ÁÖ¾îÁø URLÀÇ ÁöÁ¤ ¿Àµð¿À ÈÀÏÀ» ½ÇÇà½ÃŲ´Ù.
- AudioClip getAudioClip(URL url) : ÁöÁ¤ URLÀÇ ¿Àµð¿À Ŭ¸³À» ¾ò´Â´Ù.
- AudioClip getAudioClip(URL url, String name) : ÁöÁ¤ URLÀÇ ÁöÁ¤ ¿Àµð¿À ÆÄÀÏÀ»
¾ò´Â´Ù.
- resize(int width, int height) : ¾ÖÇø´ÀÇ Å©±â¸¦ ÀçÁ¶Á¤ÇÑ´Ù.
- showStatus(String msg) : »óÅ ǥ½ÃÇà¿¡ ÁöÁ¤ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
- AppletContext getAppletContext() : AppletContext ¸¦ ¾ò´Â´Ù.
¿¹)
import java.awt.*;
import java.applet.Applet;
public class SampletApplet extends Applet {
Image img;
public void init() {
img = getImage(getDocumentBase(), "image/sample.gif");
}
public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
showStatus("Drawing Image");
}
}
4.2 AudioClip ÀÎÅÍÆäÀ̽º
AudioClip ÀÎÅÍÆäÀ̽º´Â »ç¿îµå Ŭ¸³À» µ¿ÀÛ½Ã۱âÀ§ÇÑ ´Ü¼øÇÑ Ãß»óÈÀÌ´Ù.
- loop() : ¿Àµð¿À Ŭ¸³À» °è¼Ó µ¿ÀÛ½ÃŲ´Ù.
- play() : ¿Àµð¿À Ŭ¸³À» Çѹø¸¸ µ¿ÀÛ½ÃŲ´Ù.
- stop() : ¿Àµð¿À Ŭ¸³ÀÇ µ¿ÀÛÀ» ÁßÁöÇÑ´Ù.
¿¹)
AudioClip ac = getAudioClip(getDocumentBase(), "sound/sample.au");
ac.play();
ac.loop();
ac.stop();
4.3 AppletContext ÀÎÅÍÆäÀ̽º
AppletContext ÀÎÅÍÆäÀ̽º´Â ¾ÖÇø´ÀÇ È¯°æ¿¡ ÇØ´çÇÑ´Ù. Áï ¾ÖÇø´À»
Æ÷ÇÔÇϰí ÀÖ´Â ¹®¼ ±×¸®°í °°Àº ¹®¼¾ÈÀÇ ´Ù¸¥ ¾ÖÇø´.
ÀÌ ÀÎÅÍÆäÀ̽º¾ÈÀÇ ¸Þ½îµåµéÀº ¾ÖÇø´ÀÇ È¯°æ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò±âÀ§Çؼ
¾ÖÇø´¿¡¼ »ç¿ëµÉ ¼ö ÀÖ´Ù.
- showDocument(URL url) : ÁöÁ¤ URLÀÇ ¹®¼¸¦ º¸¿©ÁØ´Ù.
- showDocument(URL url, String target) : ÁöÁ¤ URLÀÌ Áö½ÃÇÏ´Â
ÆäÀÌÁö¸¦ ºê·Î¿ìÁ®¿¡ º¸¿©ÁØ´Ù. target ÀÎÀÚ´Â ¾î´À ÇÁ·¹ÀÓ¿¡ Ãâ·ÂÇÒ
°ÍÀΰ¡¸¦ Áö½ÃÇÑ´Ù.
- showStatus(String status) : »óÅ ǥ½ÃÇà¿¡ ÁöÁ¤ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
¿¹)
AppletContext context = getAppletContext();
try {
context.showDocument("http://misotech.com/index.html");
} catch (MalformedURLException e) {
System.out.println(e);
}
5. °á·Ð
Áö±Ý±îÁö awt¿Í applet ÆÐŰÁö¿¡ ´ëÇØ¼ »ìÆìº¸¾Ò´Ù. ÇöÀçÀÇ »ç¿ëµÇ´Â
´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº GUI¸¦ Áö¿øÇÑ´Ù°í º¼ ¼ö ÀÖ´Ù. µû¶ó¼ awt ÆÐŰÁö´Â
ÇÁ·Î±×·¥ ÀÛ¼º¿¡ »ó´çÈ÷ Áß¿äÇÑ ºÎºÐÀ̶ó ÇÒ ¼ö ÀÖ´Ù. ºñ·Ï ÀÚ¼¼ÇϰÔ
¼³¸íµÇ¾îÁöÁö´Â ¾Ê¾ÒÁö¸¸ °è¼ÓÀûÀÎ °ü½ÉÀ» °®°í ¿¬±¸Çغ¼¸¸ÇÑ ºÎºÐÀ̶ó
ÇÒ¼ö ÀÖ´Ù. ¶ÇÇÑ ÀÌ ºÎºÐÀº °è¼ÓÀûÀ¸·Î °³¹ßµÇ°í ÀÖÀ¸¸ç ´õ ³ªÀº ¹æÇâÀ¸·Î
¹ßÀüÇϰí ÀÖÀ¸¹Ç·Î »õ·Î¿î ¹öÁ¯¿¡ ´ëÇØ Ç×»ó °ü½ÉÀ» °¡Á®¾ß ÇÒ °ÍÀÌ´Ù.
applet ÆÐŰÁö´Â ´ëºÎºÐ »ç¶÷µéÀÇ °ü½É ´ë»óÀÌÁö¸¸ Applet Ŭ·¡½º
ÀÚüÀÇ ¸Þ½îµå´Â ¸î°¡Áö ¹Û¿¡ ¾ø¾ú´Ù. ´ëºÎºÐÀÇ »ç¿ë ¸Þ½îµåµéÀº ÀÚ½ÅÀÇ
¼öÆÛŬ·¡½ºµé(Component Ŭ·¡½ºµî) ¶Ç´Â ´Ù¸¥ °ü·Ã ÆÐŰÁö µéÀÇ Å¬·¡½º¸¦
import ÇÏ¿© »ç¿ëÇϹǷΠÀÌ·±°Í¿¡ À¯ÀÇÇÏ¿© °ü·Ã ¸Þ½îµå¸¦ »ìÆì¾ß
ÇÒ °ÍÀÌ´Ù.
¶ÇÇÑ »õ·Î¿î JDK ¹öÁ¯(JDK 1.1)ÀÌ
°ð ³ª¿Â´Ù´Ï ±â´ë¸¦ ÇØº¸ÀÚ.
Âü°í¹®Çå(References)
- [Sun 96a]
- JavaSoft, Java API Documentation, 1996
URL: http://www.javasoft.com:80/products/J
DK/1.0.2/api/
- [Sun 96b]
- JavaSoft, The Java Tutorial, 1996
URL: http://www.javasoft.com/books/
Series/Tutorial/index.html
- [Elliotte 96]
- Elliotte Rusty Harold, Brewing Java: A Tutorial, 1996.
URL: http://sunsite.unc.edu/javafaq/javatutorial.ht
ml
- [Á¶±¹ 96]
- ½ÅÁ¤È£, Á¦°¥¿µ, Á¶±¹, ÀÚ¹Ù¸¦ ÀÚ¹Ù¶ó, ¹Ì·¡Á¤º¸»ç, 1996
URL: http://www.misotech.com/~mikimous/java/book/