¾ÖÇø´¿¡¼ À̹ÌÁö¸¦ ·ÎµùÇÏ´Â °ÍÀº »ó´çÈ÷ ½±½À´Ï´Ù. ÀÚ¹Ù ÇÁ·Î±×·¥ÀÇ ¸ðÅä·Î ³»¼¼¿ì°í ÀÖ´Â °ÍÀÌ ¹Ù·Î ³×Æ®¿÷ ÇÁ·Î±×·¥ÀÎ °Íó·³ ¾ÖÇø´¿¡¼ ±×¸²À» ·ÎµùÇϰųª »ç¿îµåÆÄÀÏÀ» ·ÎµùÇÏ´Â °ÍÀº ±âº»ÀûÀ¸·Î ¾ÖÇø´ÀÇ ¸â¹ö¸Þ¼µå°¡ Á¦°øÇØ ÁÖ°í ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÌ ÀØÁö ¸»¾Æ¾ß ÇÏ´Â °ÍÀº ³×Æ®¿÷ÀÇ Æ¯Á¤ À§Ä¡¿¡ ÀÖ´Â À̹ÌÁö¸¦ ·ÎµùÇÏ´Â °ÍÀ» ½ÇÁ¦ ¸¸µé·Á¸é ÄÚµùÀÌ ´õ ¸¹ÀÌ ¿ä±¸ µÇ¾îÁöÁö¸¸ ¾ÖÇø´ÀÇ getImageÇÑÁÙ·Î À̹ÌÁö¸¦ ·ÎµùÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀÔ´Ï´Ù. À̰ÍÀÌ ÀÚ¹ÙÀÇ ¸Å·ÂÀÌ ¾Æ´Ò±îÇÕ´Ï´Ù.
À̹ÌÁö ·Îµù¿¡ °ü·ÃµÈ ¿¹Á¦¸¦ ¾Ë¾Æº¸µµ·Ï ÇÏÁÒ. ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ Àü¿¡ ¿©·¯ºÐÀº classÆÄÀϰú htmlÆÄÀÏÀÌ ÀÖ´Â À§Ä¡¿¡ 2°³ÀÇ gifÆÄÀÏÀ» ÁغñÇϽñ⠹ٶø´Ï´Ù. ´ÙÀ½Àº À̹ÌÁö 2°³¸¦ ·ÎµùÇÏ¿© ƯÁ¤ÁÂÇ¥¿¡ 2°³ÀÇ À̹ÌÁö¸¦ ±×¸®´Â ¿¹Á¦ÀÔ´Ï´Ù.
ImageLoad.java (À̹ÌÁö¸¦ ·ÎµåÇÏ´Â ¿¹Á¦) |
import java.awt.*; import java.applet.Applet; public class ImageLoad extends Applet { private Image img1=null; private Image img2=null; public void init() { img1 = this.getImage(getDocumentBase(), "./javalogo.gif"); img2 = this.getImage(getDocumentBase(), "./core.gif"); } public void paint(Graphics g) { g.drawImage(img1, 20,20, this); g.drawImage(img2, 100,20, this); } } |
ImageLoad.html |
<html><head><title>Image Loading Test</title></head> <body> <applet code="ImageLoad.class" width=200 height=140></applet> </body></html> |
C:\JavaExample\15>javac ImageLoad.java |
À̹ÌÁö¸¦ ·ÎµùÇÏ´Â ºÎºÐÀ» Çѹø º¸½Ã±â ¹Ù¶ø´Ï´Ù.
n img1 = this.getImage(getDocumentBase(), "./javalogo.gif");
n img2 = this.getImage(getDocumentBase(), "./core.gif");
getImage¶ó´Â ¸Þ¼µå´Â URLÀÇ À§Ä¡¿Í À̹ÌÁöÆÄÀÏÀ̸§À» ÁÖ¸é ÇØ´ç À̹ÌÁö¸¦ ·ÎµùÇÏ¿© À̹ÌÁö °´Ã¼¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå´Â ´ç¿¬È÷ AppletÀÇ ¸â¹ö·Î µî·ÏµÇ¾î Àֱ⠶§¹®¿¡ ¾ÖÇø´ ³»¿¡¼´Â ¸¶À½´ë·Î »ç¿ëÇØµµ ¹«°üÇÑ ¸Þ¼µåÀÔ´Ï´Ù.
n Image getImage(URL url) : ÁÖ¾îÁø URL¿¡ ÇØ´çÇÏ´Â À̹ÌÁö °´Ã¼¸¦ ¾ò´Â´Ù.
n Image getImage(URL url, String name): ÁÖ¾îÁø url°ú name¿¡ ÇØ´çÇÏ´Â À̹ÌÁö °´Ã¼¸¦ ¾ò´Â´Ù.
GetImage¸Þ¼µå¿¡¼ ¸Å°³º¯¼ö·Î »ç¿ëµÇ¾îÁø URL urlÀº Àüü°æ·Î°¡ µÉ ¼öµµ ÀÖÀ¸¸ç ƯÁ¤µð·ºÅ丮 °æ·Î°¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù. ±×¸®°í String nameÀº urlÀÌ µð·ºÅ丮 °æ·ÎÀÏ ¶§ ±× ³ª¸ÓÁö¸¦ StringÀ¸·Î ³Ö¾îÁÖ¸é µË´Ï´Ù.
±×·±µ¥ getDocumentBase¶ó´Â °ÍÀ» Çѹø º¸½Ã±â ¹Ù¶ø´Ï´Ù. º¸Åë AppletÀÇ ¸â¹ö¸Þ¼µå , getDocumentBase¿Í getCodeBase´Â ºñ½ÁÇÑ °³³äÀä. ÇöÀç HtmlÀÌ ÀÖ´Â URL À§Ä¡¸¦ ¾ò±â À§Çؼ´Â getDocumentBase¸Þ¼µå¸¦ »ç¿ëÇϰí AppletÀÇ classÆÄÀÏÀÌ ÀÖ´Â À§Ä¡¸¦ ¾ò±â À§Çؼ´Â getCodeBase¸Þ¼µå¸¦ »ç¿ëÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î´Â °°Àº µð·ºÅ丮¿¡ ÀÖÁÒ.
n URL getCodeBase():AppletÇÁ·Î±×·¥ ÆÄÀÏÀÌ ÀÖ´Â À§Ä¡ÀÇ µð·ºÅ丮 Á¤º¸¸¦ URL·Î ¸®ÅÏÇÑ´Ù.
n URL getDocumentBase():¾ÖÇø´À» Æ÷ÇÔÇϰí ÀÖ´Â htmlÆÄÀÏÀÌ ÀÖ´Â À§Ä¡ÀÇ µð·ºÅ丮 Á¤º¸¸¦ URL·Î ¸®ÅÏÇÑ´Ù.
ÀÚ! ÀÌÁ¦ À̹ÌÁöÀÇ ¾à°£ º¯ÇüµÈ ¿¹Á¦¸¦ Çϳª »ìÆìº¸µµ·Ï ÇÏÁÒ. ¾Æ·¡ÀÇ ¿¹Á¦´Â ¾ÖÇø´À» ·ÎµùÇÒ ¶§ Image 3°³¸¦ ¾ò°í ¹öưÀ» Ŭ¸¯ÇÒ ¶§ ¸¶´Ù À̹ÌÁö°¡ ¹Ù²îµµ·Ï ÀÛ¼ºÇÑ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ¿ì¼± ÇÁ·Î±×·¥Çϱâ Àü¿¡ À̹ÌÁö3°³¸¦ html°ú appletŬ·¡½º°¡ ÀÖ´Â À§Ä¡¿¡ ÁغñÇϽñ⠹ٶø´Ï´Ù.
ImageChange(¹öưÀ» ´©¸¦ ¶§ À̹ÌÁö°¡ ¹Ù²î´Â ¿¹Á¦) |
import java.applet.*; import java.awt.*; public class ImageChange extends Applet{ private Button b1=null; private Image img1,img2,img3 = null; private Image temp = null; private int myflag=1; public void init(){ this.b1 = new Button("Image Change"); this.add(b1); this.img1 = this.getImage(this.getDocumentBase(), "./core.gif"); this.img2 = this.getImage(this.getDocumentBase(), "./javalogo.gif"); this.img3 = this.getImage(this.getDocumentBase(), "./java12.gif"); } public void paint(Graphics g){ if(temp!=null) g.drawImage(temp, 10,30, this); } public boolean action(Event evt, Object what){ this.myflag +=1; if (myflag>3){ myflag = 1; } if(myflag==1){ temp = img1; repaint(); }else if(myflag==2){ temp = img2; repaint(); }else if(myflag==3){ temp = img3; repaint(); } return true; } } |
ImageChange.html |
<html><head><title>Image Change Test</title></head> <body> <applet code="ImageChange.class" width=200 height=140></applet> </body></html> |
C:\JavaExample\15>javac ImageChange.java Note: ImageChange.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. |
À̹ÌÁö 3°³¸¦ ·ÎµùÇÏ°í ¹öưÀ» Ŭ¸¯ÇÒ ¶§¸¶´Ù À̹ÌÁö3°³¸¦ ¹ø°¥¾Æ°¡¸é¼ Image temp¿¡ ÇÒ´çÇÑ ÈÄ repaint¸¦ È£ÃâÇϰí ÀÖ½À´Ï´Ù. repaint´Â awt¿¡¼ ÀÌ¹Ì ¼³¸íÇÑ °Í°ú °°ÀÌ È¸éÀ» refreshÇÏ´Â ±â´ÉÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ´ÙÀ½À¸·Î Sound¿¡ °ü·ÃµÈ ¿¹¸¦ Çϳª ¾Ë¾Æ º¸µµ·Ï ÇÏÁÒ.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |