본문 바로가기

진행바,프로그레스바(JProgressBar)

심플하면서도 뭔가 ... 세련되고 이쁜 ... 그런것을 원한다. 그러기 쉽지 않다


다음 예제들을 비교해보자





출처 : [Java 기초 040] - AWT, Swing, JFrame, 진행바, JProgressBar,JList, DefaultListModel, JTree, JTable


JProgressBar 에 관한 소스만 원했는데

JProgressBar 외 JList, DefaultListModel, JTree, JTable 등등이 함께 있길래 그중 JProgressBar 에 관한 소스만 퍼왔다.


JFrameTest04.java


시각적 효과를 보여주기 위해 progress_start() 를 만들어두었다. 좋다




다음은 단순히 ProgressBar 에 대한 짧고 간결한 예제



출처 : Progress bar Sample : ProgressBar « Swing JFC « Java


ProgressSample.java


Border 로 감싸고 "Reading..." 이라는 메시지를 찍어줬을 뿐인데 ...

뭐지? 이 느낌은? 




좀더 들쳐보고 싶어졌다


http://www.java2s.com 에는 다양한 예제들이 있었다


위에서 언급한 출처 Progress bar Sample : ProgressBar « Swing JFC « Java 내용을 보면

Java / Swing JFC / ProgressBar / Progress bar Sample

이런식으로 카테고리가 세분화 되어 있었다

그중 ProgressBar 를 들여다 보았다


1. Create a ProgressBar

2. Create a horizontal progress bar

3. Create a vertical progress bar

4. Creating a JProgressBar Component with an Unknown Maximum

5. Set all the values at once by using the model

6. Listening for Value Changes in a JProgressBar Component

7. Displaying the Percentage Done on a JProgressBar Component

8. Getting and Setting the Values of a JProgressBar Component

9. ProgressBar Demo: long task


9개의 개시글이 있었다

좋아 ... 하나 하나 까뒤집어 주겠어




1.Create a ProgressBar


Main.java




2.Create a horizontal progress bar

해석하면 수평 진행률 막대 만들기


1
2
3
4
5
6
7
8
9
10
import javax.swing.JProgressBar;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        int minimum = 0;
        int maximum = 100;
        JProgressBar progress = new JProgressBar(minimum, maximum);
 
    }
}
cs




3.Create a vertical progress bar

해석하면 수직 진행 막대 만들기


1
2
3
4
5
6
7
8
9
import javax.swing.JProgressBar;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        int minimum = 0;
        int maximum = 100;
        JProgressBar progress = new JProgressBar(JProgressBar.VERTICAL, minimum, maximum);
    }
}
cs




4.Creating a JProgressBar Component with an Unknown Maximum

불명 한 최대치를 가지는 JProgressBar의 작성


1
2
3
4
5
6
7
8
9
10
11
12
13
import javax.swing.JProgressBar;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        // Create a horizontal progress bar
        int min = 0;
        int max = 100;
        JProgressBar progress = new JProgressBar(min, max);
 
        // Play animation
        progress.setIndeterminate(true);
    }
}
cs




5.Set all the values at once by using the model

모델을 사용하여 모든 값을 한 번에 설정하십시오.


1
2
3
4
5
6
7
8
9
10
11
12
13
import javax.swing.JSlider;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        JSlider slider = new JSlider();
 
        int newValue = 2;
        int newExtent = 10;
        int newMin = 0;
        int newMax = 10;
        slider.getModel().setRangeProperties(newValue, newExtent, newMin, newMax, false);
    }
}
cs


예제를 보니 ... Slider ;; 뭔가 이건 링크가 잘못되었다




6.Listening for Value Changes in a JProgressBar Component

JProgressBar 구성 요소의 값 변경 수신 대기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import javax.swing.JProgressBar;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        int minimum = 0;
        int maximum = 100;
        JProgressBar progress = new JProgressBar(minimum, maximum);
 
        progress.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent evt) {
                JProgressBar comp = (JProgressBar) evt.getSource();
                int value = comp.getValue();
                int min = comp.getMinimum();
                int max = comp.getMaximum();
            }
        });
    }
}
cs




7.Displaying the Percentage Done on a JProgressBar Component

JProgressBar 구성 요소에 대한 백분율 표시


1
2
3
4
5
6
7
8
9
10
11
12
13
import javax.swing.JProgressBar;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        int minimum = 0;
        int maximum = 100;
        JProgressBar progress = new JProgressBar(minimum, maximum);
 
        // Overlay a string showing the percentage done
        progress.setStringPainted(true);
 
    }
}
cs




8.Getting and Setting the Values of a JProgressBar Component

JProgressBar 구성 요소 값 가져 오기 및 설정


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import javax.swing.JProgressBar;
 
public class Main {
    public static void main(String[] argv) throws Exception {
        int minimum = 0;
        int maximum = 100;
        JProgressBar progress = new JProgressBar(minimum, maximum);
        // Get the current value
        int value = progress.getValue();
 
        // Get the minimum value
        int min = progress.getMinimum();
 
        // Get the maximum value
        int max = progress.getMaximum();
 
        // Change the minimum value
        int newMin = 0;
        progress.setMinimum(newMin);
 
        // Change the maximum value
        int newMax = 256;
        progress.setMaximum(newMax);
 
        // Set the value; the new value will be forced into the bar's range
        int newValue = 33;
        progress.setValue(newValue);
 
    }
}
cs




9.ProgressBar Demo: long task

ProgressBar 데모 : 긴 작업


ProgressBarDemo.java


훌 륭 하 다 ...