|
¸ñ·ÏÀ¸·Î | ¼öÁ¤ | »èÁ¦ | Á¤º¸Ãß°¡[reply] | ½Å±ÔÀÔ·Â |
À̹ø ¼Ò½º¿¡¼´Â ´ÜÁö ¹®ÀÚ¿ÀÇ Å¸ÀÌÇÎÈ¿°ú¸¸À» ±¸ÇöÇÏ¿´Áö¸¸ ¾à°£ÀÇ ¼öÁ¤¸¸À¸·Îµµ ½ºÅ©·ÑÈ¿°ú¸¦ ÁÙ¼ö ÀÖ½À´Ï´Ù. ¼Ò½º¸¦ ÀÌÇØÇϱâ À§ÇØ ¾à°£ÀÇ »çÀü Áö½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù. * Thread * Vector * String À§¿¡ ³ª¿µÈ ºÎºÐÀÌ ¾Æ½Ã´Â ³»¿ëÀ̶ó¸é ¼Ò½º¸¦ ÀÌÇØÇϴµ¥ ¾Æ¹«·± ¾î·Á¿òÀÌ ¾øÀ»°Å¶ó »ý°¢µË´Ï´Ù. ±×·³, ¼Ò½ºÀÇ ºÎºÐ ºÎºÐÀ» »ìÆì º¸µµ·ÏÇÏÁÒ. import java.awt.*; // Frame »ç¿ëÇϱâ À§ÇØ import java.util.*; // Vector¸¦ »ç¿ëÇϱâ À§ÇØ ÃÖ¼Ò 2°³ÀÇ ÆÐÅ°Áö¸¦ import ½Ãŵ´Ï´Ù. public class stringScroll extends Frame implements Runnable{ ... } Ŭ·¡½ºÀÇ À̸§À» stringScrollÀ̶óÇÏ°í FrameÀ» »ó¼Ó¹Þ½À´Ï´Ù. ±×¸®°í Thread¸¦ »ç¿ëÇϱâ À§ÇØ interface ÇüÅÂÀÇ ThreadÀÎ RunnableÀ» implements·Î ´ÙÁß »ó¼Ó ó¸® ÇÕ´Ï´Ù. Vector vector; Label label; º¤ÅÍ¿Í ¶óº§À» °¢°¢ Çϳª¾¿ Àü¿ªÇüÀ¸·Î ¼±¾ðÇØ µÓ´Ï´Ù. º¤ÅÍŬ·¡½º¿¡ ¿øÇÏ´Â ¹®ÀÚ¿À» Ãß°¡ ½ÃÄÑ »ç¿ëÇÒ °ÍÀÌ°í, º¤Åͳ»ÀÇ ¹®ÀÚ¿ Çϳª¸¦ ¶óº§¿¡ Ç¥½ÃÇØ Å¸ÀÌÇÎÈ¿°ú¸¦ ÁÙ°ÍÀÔ´Ï´Ù. public stringScroll() { setTitle("String Scroll"); // FrameÀÇ Å¸ÀÌƲ Á¦¸ñ vector = new Vector(); vector.add("abcdefghijklmnopqrstuvwxyz"); vector.add("°¡³ª´Ù¶ó¸¶¹Ù»ç¾ÆÀÚÂ÷īŸÆÄÇÏ"); vector.add("1234567890987654321"); } À§ÀÇ ¼Ò½º´Â Ŭ·¡½ºÀÇ »ý¼ºÀÚ ºÎºÐÀÔ´Ï´Ù. Frame¿¡ ŸÀÌƲ Á¦¸ñÀ» ÁÖ°í, º¤ÅÍ °´Ã¼¸¦ »ý¼ºÇؼ ¹®ÀÚ¿ 3°³¸¦ add()¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© Ãß°¡ÇÕ´Ï´Ù. ´ÙÀ½Àº ÀÌ ÇÁ·Î±×·¥¿¡¼ °¡Àå º¹ÀâÇÑ Threadó¸® ºÎºÐ°ú ŸÀÌÇÎÈ¿°ú¸¦ ÁÖ´Â ºÎºÐÀÔ´Ï´Ù. public void run() { ... } Thread¸¦ »ý¼ºÇÏ°í start()¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ¾²·¹µå¸¦ ½ÇÇàÇϸé ÀÚµ¿À¸·Î ½ÇÇàµÇ¾îÁö´Â ¸Þ¼Òµå°¡ run()ÀÔ´Ï´Ù. ±× ¸Þ¼Òµå¾È¿¡ ŸÀÌÇÎÈ¿°ú ºÎºÐÀ» ³Ö¾îÁÖ°Ô µË´Ï´Ù. ¾Æ·¡ÀÇ ¼³¸í ºÎºÐÀº ¸ðµÎ run()¾È¿¡ ±â¼úµÈ ³»¿ë ÀÔ´Ï´Ù. int len; // ¹®ÀÚ¿ÀÇ ±æÀÌ int i; // Àӽà º¯¼ö String str; // º¤ÅÍ¿¡ ÀúÀåµÈ ¹®ÀÚ¿ ÇÑÁÖ¸¦ ¹Þ´Â º¯¼ö Graphics g=getGraphics(); // FrameÀÇ ±×·¡ÇÈ ÄÁÅؽºÆ® À§ÀÇ º¯¼öµéÀ» run()¸Þ¼Òµå¾È¿¡¼ ¸ÕÀú ¼±¾ðÇÕ´Ï´Ù. while(true) ŸÀÌÇÎ È¿°ú ³»Áö´Â ½ºÅ©·ÑÈ¿°ú¸¦ ¹«ÇÑ ¹Ýº¹Ã³¸®Çϱâ À§ÇØ while¹®À» »ç¿ëÇß½À´Ï´Ù. for(Enumeration enum = vector.elements(); enum.hasMoreElements();) À§ÀÇ for¹®Àº º¤ÅÍ¿¡ ÀúÀåµÈ ³»¿ëÀÌ ¾øÀ»¶§±îÁö ¹Ýº¹ÇÕ´Ï´Ù. ¹°·Ð vector.size()¸¦ »ç¿ëÇÏ¿© º¤Åͳ»ÀÇ °¹¼ö¸¦ ¹Ýȯ¹Þ¾Æ ÇØ´ç °´¼ö ¸¸Å ¹Ýº¹Ã³¸®Çصµ »ý°üÀº ¾ø½À´Ï´Ù. ±×·¯³ª ¸¸¾à ½Ç½Ã°£ÀûÀ¸·Î ¹éÅͳ»¿¡ µ¥ÀÌÅÍ°¡ Ãß°¡µÈ´Ù¸é °¹¼ö¸¦ ¹Ýȯ¹Þ´Â °Íº¸´Ù º¤ÅÍ°´Ã¼³»¿¡ µ¥ÀÌÅÍ°¡ Àִ°¡ ¾ø´Â°¡¸¦ µûÁ® ó¸®ÇÏ´Â°Ô º¸´Ù À¯¿¬Çϸ®¶ó º¾´Ï´Ù. str= (String)enum.nextElement(); // º¤ÅÍ¿¡¼ ¹®ÀÚ¿ Çϳª¸¦ ¹Ýȯ¹Þ¾Æ len = str.length(); // ------------ ¹®ÀÚ¿ÀÇ ±æÀ̸¦ °è»êÇÏ°í g.setColor(Color.blue); // --------------- ÇöÀç »öÀ» û»öÀ¸·Î ÁöÁ¤ÇÏ°í for(i = 0 ; i<=len ; i++) // ------ ±× ±æÀÌ ¸¸Å ¹Ýº¹ÇÑ´Ù. { g.drawString(str.substring(0,i),50,80); // ¹®ÀÚ¿·Î ºÎÅÍ i°³ ¸¸Å À߶󳻾î Ç¥½ÃÇÑ´Ù. try { Thread.sleep(77); // ----------- Àá±ñ ½®´Ù. } catch (Exception e){} } À§ÀÇ ºÎºÐÀº ¹®ÀÚ¿ÀÌ ÇѱÛÀÚ¿¡¼ ½ÃÀÛÇÏ¿© ¸¶Áö¸· ±ÛÀÚ±îÁö Â÷·Ê·Î ȸ鿡 Âï¾î ÁÖ´Â ºÎºÐÀÌ´Ù. for(i = len ; i>=0 ; i--) { g.setColor(Color.white); // ------------- ¹ÙÅÁÀ» Áö¿ö±â À§ÇØ ÇöÀç »öÀ» Èò»öÀ¸·Î ÁöÁ¤ g.fillRect(25,40,500,81); // ------------ ÁöÁ¤µÈ ¿µ¿ªÀ» Èò»öÀ¸·Î ä¿î´Ù.(Áö¿î´Ù) g.setColor(Color.red); // --------------- ¹®ÀÚ»öÀ» ÁöÁ¤Çϱâ À§ÇØ ÇöÀç »öÀ» »¡°»öÀ¸·Î ÁöÁ¤ g.drawString(str.substring(0,i),50,80); // ¹®ÀÚ¿¿¡¼ i °³ ¸¸Å ©¶ó ÁöÁ¤µÈ À§Ä¡¿¡ Ç¥½Ã try { Thread.sleep(50); // ---------- Àá±ñ ½¬ÀÚ. } catch (Exception e){} } ÇѱÛÀÚ¾¿ Ç¥½ÃµÈ ±ÛÀÚ¸¦ Èò»öÀ¸·Î Áö¿öÁÖ°í Àüü¹®ÀÚ¿¿¡¼ ºÎÅÍ ½ÃÀÛÇÏ¿© ÇѱÛÀÚ½Ä ÁÙ¿©°¡¸ç ±ÛÀÚ¸¦ ´Ù½Ã Âï´Â´Ù. ȸ鿡¼´Â ¸¶Ä¡ ÇѱÛÀÚ¾¿ Áö¿öÁö´Â È¿°ú¸¦ º¸ÀÌ°Ô µÈ´Ù. ¸¶Áö¸·À¸·Î main()¸Þ¼Òµå¸¦ º¸¸é ´ÜÁö stringScrollŬ·¡½º¸¦ °´Ã¼È ÇÏ°í, ¾²·¹µå¸¦ ½ÃÀÛ½ÃÅ°´Â ºÎºÐ ÀÌ¿Ü´Â ¾ø´Ù. Àüü ¼Ò½º´Â ¾Æ·¡¿Í °°´Ù. // ================================================================ // ¹®ÀÚ¿ ŸÀÚÈ¿°ú ¹× ½ºÅ©·Ñ È¿°ú ÁÖ±â // date : 2003 // make : pwg // note : // ================================================================ import java.awt.*; import java.awt.event.*; import java.util.*; public class stringScroll extends Frame implements Runnable { Vector vector; Label label; public stringScroll() { setTitle("String Scroll"); vector = new Vector(); vector.add("abcdefghijklmnopqrstuvwxyz"); vector.add("°¡³ª´Ù¶ó¸¶¹Ù»ç¾ÆÀÚÂ÷īŸÆÄÇÏ"); vector.add("1234567890987654321"); } public void run() { int len; int i; String str; Graphics g=getGraphics(); while(true) { for(Enumeration enum = vector.elements(); enum.hasMoreElements();) { str= (String)enum.nextElement(); len = str.length(); g.setColor(Color.blue); for(i = 0 ; i<=len ; i++) { g.drawString(str.substring(0,i),50,80); try { Thread.sleep(77); } catch (Exception e){} } try { Thread.sleep(1500); } catch (Exception e){} for(i = len ; i>=0 ; i--) { g.setColor(Color.white); g.fillRect(25,40,500,81); g.setColor(Color.red); g.drawString(str.substring(0,i),50,80); try { Thread.sleep(50); } catch (Exception e){} } } } } public static void main(String args[]) { stringScroll f= new stringScroll(); f.setSize(600,200); f.setVisible(true); Thread t = new Thread(f); t.start(); } } |
¸ñ·ÏÀ¸·Î | ¼öÁ¤ | »èÁ¦ | Á¤º¸Ãß°¡[reply] | ½Å±ÔÀÔ·Â |