±Û¾´ÀÌ :¾È±¤È£ 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;
}
}