±Û¾´ÀÌ :¾È±¤È£ 1999³â 3¿ù 23ÀÏ 12:10:18
In Reply to: [Áú¹®] paint() ¿Í IOÀÇ thread ÀÚ¿ø »ç¿ë ¹®Á¦... - Progressbar posted by ¹Ú¼ºÈ£ on 1999³â 3¿ù 23ÀÏ 09:50:19:
Áú¹®ÇϽг»¿ë¿¡¼ ºø³ª°£ °¨ÀÌ ¾øÁö¾ÊÁö¸¸ ¾ÖÃÊ¿¡ ¿øÇÏ´Â °ÍÀÌ Progress BarÀÇ ±â´ÉÀ̶ó¸é ´ÙÀ½ÀÇ Source°¡ µµ¿òÀÌ µÉ·±Áö.
º¹ÀâÇÑ ³»¿ëÀº ´Ù Á¦°ÅÇϰí Progress Bar´Â ÀÚ±âÀÚ½ÅÀÌ ÁøÃ´À²À» ¾Ë ¼öµµ ¾ø°í º¯°æ½Ãų ¼öµµ ¾ø°í, ´Ù¸¸ ¿ÜºÎÀÇ »ç¿ëÀÚ°¡ ÁøÃ´À²À̶óµçÁö °»½Å ½ÃÁ¡ µîÀ» ¾Ë°í ÀÖ´Ù´Â ¿øÄ¢¿¡ Ãæ½ÇÇÏ¿© ´Ü¼øÇÏ°Ô ÀÛ¼ºÇß½À´Ï´Ù.
»ç¿ë ¹æ¹ýÀº Source¸¦ º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸ setProgressValue(), getProgressValue() µÎ method¸¦ »ç¿ëÇÏ¿© ÁøÃ´À² ¹× °»½Å ½ÃÁ¡À» °áÁ¤ÇÏ°Ô Çß½À´Ï´Ù.
// ProgressPane.java 
import java.awt.*;
public class ProgressPane extends Canvas
{
	int progressValue = 0;  //  percentage value(%)
	public ProgressPane(){
	    super();
	}
	public void paint(Graphics g){
	    //  draw box
	    g.setColor(Color.red);
	    g.drawRect(0, 0, getSize().width-1, getSize().height-1);
	    //  draw progress bar
		g.setColor(Color.blue);
		g.fillRect(0, 0, (int)(getSize().width * progressValue / 100), getSize().height);
	}
    public void setProgressValue(int value){
        if(value > 100 || value < 0)    return;
        progressValue = value;
        repaint();
    }
    
    public int getProgressValue(){
        return progressValue;
    }
}