심플하면서도 뭔가 ... 세련되고 이쁜 ... 그런것을 원한다. 그러기 쉽지 않다
다음 예제들을 비교해보자
출처 : [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
훌 륭 하 다 ...
'JAVA' 카테고리의 다른 글
[JAVA][SWING]ActionListener 사용설명서 (0) | 2018.09.12 |
---|---|
[JAVA][eclipse][ERROR] eclipse PHOTON 설치 오류 (1) | 2018.09.11 |
[JAVA][SWING] 팝업 JOptionPane (showInputDialog, showConfirmDialog, showMessageDialog) (0) | 2018.09.11 |
[JAVA][SWING] 메뉴(JMenuBar, JMenu, JMenuItem, MenuActionListener) (0) | 2018.09.11 |
[JAVA][SWING] Drag-and-drop 파일선택시 드레그 앤 드롭 구현 (1) | 2018.09.10 |