[참고] ProgressBar를 간단하게...


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]

글쓴이 :안광호 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;
}
}





다음 글들:



이어서 글올리기(답하기)

이름:
E-Mail:
제목:
내용:
HTML 태그 포함 여부: HTML 문서일 경우 체크
관련 URL(선택):
URL 제목(선택):
관련 이미지 URL:


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]