[] STUDY ³»¿ë

ÀÛ¼ºÀÏ 2003-10-27
ÀÛ¼ºÀÚ park
Á¶È¸¼ö 1451
Á¦ ¸ñ ¹®ÀÚ¿­ ŸÀÌÇÎÈ¿°ú ¹× ½ºÅ©·ÑÈ¿°ú ÁÖ±â

¸ñ·ÏÀ¸·Î | ¼öÁ¤ | »èÁ¦ | Á¤º¸Ãß°¡[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();

    }
    

}


¹®ÀÚ¿­ ŸÀÌÇÎÈ¿°ú ¹× ½ºÅ©·ÑÈ¿°ú Áֱ⠰ú(¿Í) °ü·ÃµÈ Ãß°¡ Á¤º¸

  • ½Å»óÁ¤º¸ ÀÔ·ÂÈÄ Ãâ·ÂÇϱâ [2004-02-09] [park´Ô Àç°ø] [Á¶È¸:1019]
  • ¹®ÀÚ¿­ ŸÀÌÇÎÈ¿°ú ¹× ½ºÅ©·ÑÈ¿°ú ÁÖ±â [2003-10-27] [park´Ô Àç°ø] [Á¶È¸:1451]

    ¸ñ·ÏÀ¸·Î | ¼öÁ¤ | »èÁ¦ | Á¤º¸Ãß°¡[reply] | ½Å±ÔÀÔ·Â