¸®Ä¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¼¼°è·Î ÃÊ´ëÇÕ´Ï´Ù!
¸®Ä¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¼±±¸ÀÚ Ã ÇϽº¿Í ·Î¸ÞÀÎ °¡ÀÌÀÇ ¡ºÀÚ¹Ù·Î ¸¸µå´Â ¾Ö´Ï¸ÞÀÌ¼Ç ±×·¡ÇȽº¡». ÀÚ¹Ù¸¦ ÅëÇØ ±×·¡ÇȽº ÀÌÆåÆ®¿Í ¾Ö´Ï¸ÞÀÌ¼Ç ÀÌÆåÆ®¸¦ È°¿ëÇÏ¿© »ç¿ëÀÚ¸¦ »ç·ÎÀâ´Â È·ÁÇÏ°í È¿À²ÀûÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼ö ÀÖµµ·Ï ÀεµÇÏ°í ÀÖ´Ù.
ÀÌ Ã¥Àº ¿ì¸®¸¦ È·ÁÇÏ°í È¿À²ÀûÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¶æÇÏ´Â ¸®Ä¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¼¼°è·Î ÃÊ´ëÇÑ´Ù. ÀÚ¹Ù»Ó ¾Æ´Ï¶ó, ½ºÀ®¿¡ ´ëÇØ ¹è¿î »ç¶÷µéÀ» ´ë»óÀ¸·Î »ï¾Ò´Ù. ¸®Ä¡ Ŭ¶óÀ̾ðÆ® °³¹ßÀÇ ±âº»ÀûÀÎ ¿ø¸®¸¦ ¼³¸íÇÑ ´ÙÀ½, µÎ ÀúÀÚ°¡ Á÷Á¢ °³¹ßÇÑ ±×·¡ÇȽº ¶óÀ̺귯¸®¿Í ¾Ö´Ï¸ÞÀÌ¼Ç ¶óÀ̺귯¸®¿¡ ´ëÇØ ¼Ò°³ÇÑ´Ù.
»ç¿ëÀÚ¸¦ °ÇÏ°Ô ²ø¾îµéÀÏ »Ó ¾Æ´Ï¶ó, ´«°ú ¼ÕÀ» ¶¿ ¼ö ¾ø°Ô À̲ô´Â ¸®Ä¡ Ŭ¶óÀ̾ðÆ®·Î¼ °¡Á®¾ß ÇÒ ±âº»ÀûÀÎ ¿øÄ¢ µîµµ ´ã¾Ò´Ù. Çü½Ä¿¡ ¾ô¸ÅÀÌÁö ¾ÊÀ¸¸é¼µµ È·ÁÇÏ°í È¿À²ÀûÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀ» Àç¹ÌÀÖ°Ô ¸¸µé¾î³¾ ¼ö ÀÖµµ·Ï µµÀüÇÑ´Ù.
1ºÎ ±×·¡ÇȽº¿Í GUI ±âÃÊ
1Àå µ¥½ºÅ©Å¾ ÀÚ¹Ù ±×·¡ÇȽº API: ½ºÀ®, AWT, ÀÚ¹Ù 2D
Ãß»ó À©µµ¿ì ÅøŶ
ÀÚ¹Ù 2D
½ºÀ®
2Àå ½ºÀ® ·»´õ¸µ ±âÃÊ
À̺¥Æ®
½ºÀ® ÆäÀÎÆ®
ºñµ¿±â½Ä ¸®ÆäÀÎÆ® ¿äû
µ¿±â½Ä ÆäÀÎÆ® ¿äû
½ºÀ® ·»´õ¸µ
paint()
setOpaque()
ÀÌÁß ¹öÆÛ¸µ
½º·¹µå ´Ù·ç±â
½º·¹µå ¸ðµ¨
ŸÀÌ¸Ó¿Í À̺¥Æ® Çؼ® ½º·¹µå
SwingWorker¸¦ »ç¿ëÇÑ °£ÆíÇÑ ½º·¹µå »ç¿ë
½º·¹µå °ü·Ã ³»¿ë ¿ä¾à
3Àå ±×·¡ÇȽº ±âÃÊ
ÀÚ¹Ù 2D
·»´õ¸µ
±×·¡ÇȽº °´Ã¼ ¾ò±â
±×·¡ÇȽº »óÅÂ
À̹ÌÁö È®´ëÃà¼Ò °ü·Ã ÈùÆ®
µµÇü ¾ÈƼ¾Ù¸®¾î½º ÈùÆ®
ÅؽºÆ® ¾ÈƼ¾Ù¸®¾î½º ÈùÆ®
±×·¡ÇÈ ±âº»¿ä¼Ò
4Àå À̹ÌÁö
À̹ÌÁö ŸÀÔ
BufferedImage
À̹ÌÁö È®´ëÃà¼Ò
Ç°Áú°ú ¼º´É
getFasterScaledInstance(): ´õ ºü¸£°í ÁÁÀº Ç°ÁúÀÇ È®´ëÃà¼Ò À̹ÌÁö¸¦ Á¦°øÇÏ´Â À¯Æ¿¸®Æ¼
5Àå ¼º´É
Ŭ¸³ »ç¿ë
ȣȯ À̹ÌÁö
°ÆÁ¤ÇØ¾ß ÇÒ °Íµé
°ü¸®µÇ´Â À̹ÌÁö¶õ?
À̹ÌÁö ȣȯ½ÃÅ°±â
°ü¸®µÇ´Â À̹ÌÁö
DataBuffer °´Ã¼ Á¢±Ù
À̹ÌÁö ³»ÀÇ ÀæÀº ·»´õ¸µ
Áß°£»ý¼º À̹ÌÁö
±âº» °³³ä
µ¿ÀÛ ¿ø¸®
À¯ÀÇ»çÇ×
¿ä¾à
±âº» ·»´õ¸µ ÃÖÀûÈ
¼º´É ÃøÁ¤
¸í·ÉÇà Ç÷¡±×
·»´õ¸µ
¼º´É µð¹ö±ë
2ºÎ °í±Þ ±×·¡ÇÈ ·»´õ¸µ
6Àå ÄÄÆ÷ÁöÆ®
¾ËÆÄ ÄÄÆ÷ÁöÆ®
¾ËÆÄ ÄÄÆ÷ÁöÆ®ÀÇ 12 ±ÔÄ¢
Clear
Dst
DstAtop
DstIn
DstOut
DstOver
Src
SrcAtop
SrcIn
SrcOut
SrcOver
Xor
AlphaComposite »ý¼º°ú ¼³Á¤
AlphaCompositeÀÇ ÀϹÝÀûÀÎ »ç¿ë¹ý
Clear »ç¿ëÇϱâ
SrcOver »ç¿ëÇϱâ
SrcIn »ç¿ëÇϱâ
AlphaComposite »ç¿ë½Ã ÁÖÀÇ»çÇ×
ÀڽŸ¸ÀÇ ÄÄÆ÷ÁöÆ® ÀÛ¼º
Add ÄÄÆ÷ÁöÆ®
CompositeContext ±¸Çö
Çȼ¿ ÇÕ¼º
¿ä¾à
7Àå ±×·¡µð¾ðÆ®
ÀÌÁß ¼±Çü ±×·¡µð¾ðÆ®
Á¤±Ô ±×·¡µð¾ðÆ®¸¦ È°¿ëÇÑ Æ¯¼ö È¿°ú
´Ù´Ü ¼±Çü ±×·¡µð¾ðÆ®
¹æ»çÇü ±×·¡µð¾ðÆ®
±×·¡µð¾ðÆ® ÃÖÀûÈ
±×·¡µð¾ðÆ® ij½ÃÇϱâ
´õ ¶È¶ÈÇÏ°Ô Ä³½ÃÇϱâ
¹Ýº¹µÇ´Â ±×·¡µð¾ðÆ® ÃÖÀûÈÇϱâ
8Àå À̹ÌÁö ÇÁ·Î¼¼½Ì
À̹ÌÁö ÇÊÅÍ
BufferedImageOp·Î À̹ÌÁö ó¸®Çϱâ
AffineTransformOp
ColorConvertOp
ConvolveOp
Ä¿³Î ±¸¼ºÇϱâ
°æ°è¿¡ ´ëÇÑ ÀÛ¾÷
LookupOp
RescaleOp
»ç¿ëÀÚ Á¤ÀÇ BufferedImageOp
±â¹Ý ÇÊÅÍ Å¬·¡½º
»öÁ¶ º¯°æ ÇÊÅÍ
ÇÊÅÍ ¼º´É¿¡ ´ëÇÑ À̾߱â
¿ä¾à
9Àå ±Û¶ó½º ÆäÀÎ
±Û¶ó½º ÆäÀο¡ ±×¸®±â
ÃÖÀûÈµÈ ±Û¶ó½º ÆäÀÎ ÆäÀÎÆÃ
ÀÔ·Â À̺¥Æ® °¡·Îä±â
¸¶¿ì½º À̺¥Æ® °ü·Ã ÁÖÀÇ»çÇ×
10Àå ·¹À̾îµå ÆäÀÎ
·¹À̾îµå ÆäÀÎ ·¹ÀÌ¾î »ç¿ëÇϱâ
´ÜÀÏ ·¹ÀÌ¾î ³»¿¡¼ ÄÄÆ÷³ÍÆ® Á¤·Ä
·¹À̾îµå ÆäÀΰú ·¹À̾ƿô
¿©·¯ ·¹À̾ƿôÀ» »ç¿ëÇؼ JLayeredPane ´ëüÇϱâ
11Àå ¸®ÆäÀÎÆ® ¸Å´ÏÀú
½ºÀ®ÀÌ ³Ê¹« ¶È¶ÈÇÒ ¶§
RepaintManager¿Í ù ´ë¸é
RepaintManager °ü¸®Çϱâ
RepaintManager·Î ±¸ÇöÇÑ ¹Ý»ç»ó
¹Ý»ç»óÀ» À§ÇÑ °ø°£ ¸¸µé±â
¹Ý»ç»ó ±×¸®±â
´õ ¹Ùº¸°°Àº, ±×·¡¼ ´õ ¶È¶ÈÇÑ RepaintManager
¿ä¾à
3ºÎ ¾Ö´Ï¸ÞÀ̼Ç
12Àå ¾Ö´Ï¸ÞÀÌ¼Ç ±âÃÊ
½Ã°£¿¡ ´ëÇؼ
±âÃÊ °³³ä
ÇÁ·¹ÀÓ ±â¹Ý ¾Ö´Ï¸ÞÀ̼Ç
ÇÁ·¹ÀÓ ºñÀ²
½Ã°£ ±â¹Ý ¸ð¼Ç
ŸÀ̹Ö(±×¸®°í Ç÷§Æû ŸÀÌ¹Ö À¯Æ¿¸®Æ¼)
¡°Áö±Ý ¸î½ÃÁÒ?¡±
¡°¸ð´×ÄÝÀ» ºÎŹÇØ¿ä.¡±
¡°´Ù½Ã ºÒ·¯Áà¿ä. ¶Ç´Ù½Ã. ¶Ç´Ù½Ã.¡±
ÇØ»óµµ
System.currentTimeMillis()¿Í System.nanoTime()ÀÇ ÇØ»óµµ
½½¸³ ÇØ»óµµ
ŸÀÌ¸Ó ÇØ»óµµ
Çػ󵵿¡ ´ëÇÑ ÇØ»óµµ
½ºÀ® ¾ÖÇø®ÄÉÀÌ¼Ç ¿òÁ÷ÀÌ°Ô Çϱâ
¿òÁ÷ÀÌ´Â ±×·¡ÇÈ
¿òÁ÷ÀÌ´Â GUI
¿ä¾à
13Àå ¸Å²ô·¯¿î ¿òÁ÷ÀÓ
¹è°æ: ¿Ö ¾Ö´Ï¸ÞÀ̼ÇÀÌ ¾î»öÇÏ°Ô º¸Àϱî?
¾Ö´Ï¸ÞÀ̼ÇÀÌ ¹ö¹÷°Å¸®´Â ¿øÀΰú ºÎµå·´°Ô ¸¸µå´Â ¹ý
ŸÀ̹ÖÀÌ ¸ðµç °ÍÀÌ´Ù
»ö»ó: Â÷ÀÌ°¡ ¹«¾ùÀϱî?
¼öÁ÷ ȸ±â: µ¿±âÈµÈ °¨°¢
SmoothMoves: µ¥¸ð
±×·¡ÇȽº °´Ã¼ »ý¼º
ŸÀÌ¸Ó ½ÇÇà
·»´õ¸µ
·»´õ¸µ ¿É¼Ç
¿ä¾à
14Àå ŸÀÌ¹Ö ÇÁ·¹ÀÓ¿öÅ©: ±âÃÊ
¼Ò°³
ÇÙ½É °³³ä
Animator Ŭ·¡½º
Äݹé
Áö¼Ó½Ã°£
¹Ýº¹
ÇØ»óµµ
½ÃÀÛ µ¿ÀÛ
º¸°£
°¡¼Ó°ú °¨¼Ó
º¸°£ÀÚ
¿ä¾à
15Àå ŸÀÌ¹Ö ÇÁ·¹ÀÓ¿öÅ©: °í±Þ ±â´É
Æ®¸®°Å
°³³ä°ú »ç¿ë¹ý
Æ®¸®°Å »óÀ§Å¬·¡½º
³»Àå Æ®¸®°Å
ÇÁ·ÎÆÛƼ ¼³Á¤ÀÚ
PropertySetter Ŭ·¡½º
Evaluator
Å°ÇÁ·¹ÀÓ
¿ä¾à
4ºÎ ÀÌÆåÆ®
16Àå Á¤Àû ÀÌÆåÆ®
ºí·¯
»ç¿ë¸ñÀû
°£´ÜÇÑ ºí·¯
°¡¿ì½Ã¾È ºí·¯
¼º´ÉÇâ»ó ±â¹ý
¹Ý»ç
»ç¿ë¸ñÀû
¹Ý»ç ±×¸®±â
ºí·¯ Àû¿ë ¹Ý»ç
µå·Ó ¼¨µµ¿ì
»ç¿ë ¸ñÀû
°£´ÜÇÑ µå·Ó ¼¨µµ¿ì
»ç½ÇÀûÀÎ µå·Ó ¼¨µµ¿ì
°Á¶
»ç¿ë¸ñÀû
¸íµµ ³ôÀ̱â
½ºÆ̶óÀÌÆ®
°¡µ¶¼º °³¼±À» À§ÇÑ ÅؽºÆ® °Á¶
»þÇÂ
»ç¿ë¸ñÀû
´Ü¼ø »þÇÂ
¾ð»þÇÁ ¸¶½ºÅ©
Ãà¼ÒµÈ À̹ÌÁö¿¡ »þÇ Àû¿ë
¿ä¾à
17Àå µ¿Àû ÀÌÆåÆ®
¿òÁ÷ÀÓ
»ç¿ë¸ñÀû
°©´Ï´Ù, °©´Ï´Ù, ³Ñ¾î°¬½À´Ï´Ù!
ÆäÀ̵å
»ç¿ë¸ñÀû
ÆäÀ̵å Àü·«
AlphaComposite ÆäÀ̵å
»ö»ó ÆäÀ̵å
Å©·Î½ºÆäÀ̵å
ÆäÀÌµå ½±°Ô Çϱâ
ÆÞ½º
»ç¿ë¸ñÀû
ÆÞ½º ´À³¢±â
ÀÚµ¿ ¹é¿
¾àµ¿ÇÏ´Â ÆÞ½º
½ºÇÁ¸µ
»ç¿ë¸ñÀû
½ºÇÁ¸µ ´ëÈ°¾à
¸ðÇÎ
»ç¿ë¸ñÀû
¹öÆ° ¸ðÇÎÇϱâ
¿ä¾à
18Àå ¾Ö´Ï¸ÞÀÌ¼Ç Àå¸éÀüȯ
¾ÖÇø®ÄÉÀÌ¼Ç »óŸ¦ ²÷±è¾øÀÌ ÀüȯÇϱâ
±âº» °³³ä
¾Ö´Ï¸ÞÀÌ¼Ç Àå¸éÀüȯ: ¶óÀ̺귯¸®
¾Ö´Ï¸ÞÀÌ¼Ç ¾ÖÇø®ÄÉÀÌ¼Ç »óÅÂ
GUI »óÅÂ
API
ÀÌÆåÆ®
GUI ±¸Á¶
±×¸²°ú À̹ÌÁöȦ´õ
ScreenTransition
¾Ö´Ï¸ÞÀÌÆ® Àå¸éÀüȯ: ½ºÀ®¿¡°Ô ´ëü ¾î¶² ÀÏÀ» ½ÃÅ°°í ÀÖÀ»±î?
¸ô·¡ ´ÙÀ½ ȸé äºñÇϱâ
·¹À̾ƿôÀ» ÆîÃĺ¸ÀÚ: ·¹À̾ƿôÀ» ¼¼È÷ º¯È½ÃÅ°±â
½ºÀ®À» ÃãÃß°Ô ÇÏÀÚ: ¼º´É
¿ä¾à
19Àå ¸ÚÁø ¸®Ä¡ Ŭ¶óÀ̾ðÆ®ÀÇ Åº»ý
¿¡¾î¸®½º
¿¡¾î¸®½ºÀÇ ½ÇÇà
Á÷Á¢ Çغ¸±â
ÀÛ¾÷È帧µµ ÆäÀÌÆÛ µðÀÚÀÎ
ºñÀü
È¸é ±¸¼º µðÀÚÀÎ
¸ñ¾÷
¸ñ¾÷¿¡¼ ÄÚµå±îÁö
·¹ÀÌ¾î »ç¿ëÇϱâ
ºí·»µù ¸ðµå
¾È³»¼± »ç¿ë
³ ¿¹¼ú°¡°¡ ¾Æ´Ï¶ó±¸!
¾Ë¸ÂÀº »ö»ó ¼±ÅÃ
µðÀÚÀÎ ¼Àû Àбâ
¿ä¾à
ÇÁ·ÎÁ§Æ®
¸ÎÀ½¸»
ÀÚ¹Ù »çÀÌÆ®
ÀúÀÚÀÇ »çÀÌÆ®
(´ç½ÅÀÇ À̸§ÀÌ µé¾î°¥ ÀÚ¸®)