Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- db버퍼캐시
- 멀티쓰레드
- springboot
- socket
- 인덱스
- Oracle
- Undo
- 메소드
- 인덱스 튜닝
- Swing
- 오라클
- 생성자
- java
- DB
- 백준
- SQLP
- Spring
- 카카오코딩테스트
- 클라이언트
- 자바
- 인스턴스
- 친절한 SQL 튜닝
- 친절한 sql튜닝
- 클래스
- 깃허브
- 상속
- DBA
- 서버
- 컬렉션프레임워크
- SQL
Archives
- Today
- Total
프리 정보 컨텐츠
자바 Swing JprogressBar 사용 코드 및 예제 본문
반응형
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.BorderLayout; | |
import java.awt.Container; | |
import java.awt.FlowLayout; | |
import java.awt.event.ActionEvent; | |
import java.awt.event.ActionListener; | |
import javax.swing.JButton; | |
import javax.swing.JFrame; | |
import javax.swing.JLabel; | |
import javax.swing.JPanel; | |
import javax.swing.JProgressBar; | |
public class JProgessBar { | |
public static void main(String[] args) { | |
new JprogressBar(); | |
} | |
} | |
class JprogressBar extends JFrame implements ActionListener, Runnable{ | |
Container container = getContentPane(); | |
JLabel label = new JLabel("Progress Bar"); | |
JButton b1 = new JButton("시작"); | |
JButton b2 = new JButton("멈춤"); | |
JPanel panel = new JPanel(); // Button | |
JProgressBar progressBar = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100); | |
boolean progress = true; | |
int num = 0; | |
public JprogressBar() { | |
setTitle("JProgreeBar"); | |
setSize(400, 250); | |
setLocation(300, 300); | |
init(); | |
start(); | |
setVisible(true); | |
} | |
private void init() { | |
container.setLayout(new BorderLayout()); | |
container.add("North", label); | |
container.add("Center", progressBar); | |
container.add("South", panel); | |
panel.setLayout(new FlowLayout(FlowLayout.RIGHT)); | |
panel.add(b1); | |
panel.add(b2); | |
// set ProgressBar | |
progressBar.setStringPainted(true); | |
progressBar.setString("0%"); | |
} | |
private void start() { | |
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
b1.addActionListener(this); | |
b2.addActionListener(this); | |
} | |
@Override | |
public void actionPerformed(ActionEvent e) { | |
if (e.getSource() == b1) { | |
progress = true; | |
new Thread(this).start(); | |
b1.setEnabled(false); | |
b2.setEnabled(true); | |
} else if (e.getSource() == b2) { | |
progress = false; | |
b1.setEnabled(true); | |
b2.setEnabled(false); | |
} | |
} | |
@Override | |
public void run() { | |
if(num == 100) { | |
num = 0; | |
} | |
for(int i = num; i <= 100; i++) { | |
if(!progress) break; | |
try { | |
Thread.sleep(50); | |
} catch (InterruptedException e) { | |
e.printStackTrace(); | |
} | |
num = i; | |
progressBar.setValue(i); | |
progressBar.setString(i + "%"); | |
} | |
b1.setEnabled(true); | |
b2.setEnabled(false); | |
} | |
} |

container 객체에 JprogressBar 수평 센터 화면구성
쓰레드 활용 동시 구동 함수활용
Swing JprogressBar 의 활용방법
쓰레드에 대해서 이해가 부족한 것 같으니 쓰레드에 대해서 자세하게 알아보도록 하자.
반응형
Comments