목차
- 자바 리눅스에서 javac 명령어로 자바 소스 코드 컴파일 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 라디오 버튼 만들기 예제
- 자바 배열 Array 선언 및 값 추가, 삭제, 변경 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 프로그래스바 UI 만들기 예제
- 자바 Swing 활용 스레드로 프로그래스바를 증가시키는 예제
자바 리눅스에서 javac 명령어로 자바 소스 코드 컴파일 예제 이전 포스팅 참고 학습
이전 포스팅의 예제에서는 리눅스 터미널에서 javac 명령어를 사용하여 자바 소스 코드를 컴파일하는 방법을 설명합니다. javac 명령어는 java 확장자 파일인 자바 소스 코드를 컴파일하여 class 파일로 변환해주는 명령어입니다. 따라서 자바 예제를 실행하기 위해서는 javac 명령어 사용법을 알아야합니다. 만약 아직 해당 명령어 사용법을 잘 모르신다면 아래 링크를 참고해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바 Swing 활용 라디오 버튼 만들기 예제
이전 포스팅에서는 자바 Swing 라이브러리를 사용하여 GUI 애플리케이션에서 라디오 버튼을 생성하는 방법을 설명합니다. 라디오 버튼은 여러 옵션 중에서 하나를 선택하는 데 사용되며, 여러개의 아이템이 주어졌을 때 1개만 선택해야하는 상황이 있을 때 라디오 버튼을 사용하게됩니다. 자바에서 Swing을 활용하여 라디오 버튼을 구성하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.21 - [Java] - [Java/Linux] 자바 Swing 활용 라디오 버튼 만들기 예제(Radio Button)
자바 배열 Array 선언 및 값 추가, 삭제, 변경 예제 이전 포스팅 참고 학습
마지막으로 이전 포스팅의 예제에서는 자바에서 배열을 선언하고, 배열에 값 추가, 삭제, 변경하는 방법을 다룹니다. 배열은 여러 값을 하나의 변수에 저장할 때 사용되며, 다양한 데이터를 다룰 때 중요한 자료 구조입니다. 해당 포스팅의 예제에서는 자바의 배열을 초기화하고 아이템을 추가하고 삭제, 변경하는 예제가 포함되어있습니다. 만약 자바의 배열 활용 예제가 궁금하시다면 아래 링크를 참고해주세요.
2023.08.14 - [Java] - [Java/Linux] 자바 배열 선언 및 값 추가, 삭제, 변경 예제
자바 Swing 활용 프로그래스바 UI 만들기 예제
아래는 자바 Swing 라이브러리를 사용하여 GUI 애플리케이션에서 프로그래스바를 생성하는 예제입니다. 프로그래스바는 작업 진행 상태를 시각적으로 나타내는 데 사용됩니다. 사용자에게 어떤 작업이 진행 중인지 시각적으로 표시할 때 유용합니다.
import javax.swing.*;
import java.awt.*;
public class ProgressBarThreadExample {
public static void main(String[] args) {
JFrame frame = new JFrame("프로그래스바 스레드 예제");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 100);
frame.setLayout(new FlowLayout());
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
JButton startButton = new JButton("작업 시작");
frame.add(progressBar);
frame.add(startButton);
frame.setVisible(true);
}
}
자바 Swing 활용 스레드로 프로그래스바를 증가시키는 예제
아래는 스레드를 생성하고, 그 스레드를 활용하여 프로그래스바의 진행 상태를 증가시키는 예제입니다. 스레드를 사용하면 애플리케이션이 블로킹되지 않고 백그라운드에서 작업을 수행할 수 있습니다.
import javax.swing.*;
import java.awt.*;
public class ProgressBarThreadExample {
public static void main(String[] args) {
JFrame frame = new JFrame("프로그래스바 스레드 예제");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 100);
frame.setLayout(new FlowLayout());
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
JButton startButton = new JButton("작업 시작");
startButton.addActionListener(e -> {
SwingWorker<Void, Integer> worker = new SwingWorker<Void, Integer>() {
@Override
protected Void doInBackground() throws Exception {
for (int i = 0; i <= 100; i++) {
Thread.sleep(100);
publish(i); // 중간 결과를 publish 메소드를 통해 UI 스레드로 전달
}
return null;
}
@Override
protected void process(java.util.List<Integer> chunks) {
// 중간 결과를 UI에 반영
int value = chunks.get(chunks.size() - 1);
progressBar.setValue(value);
}
};
worker.execute(); // 스레드 실행
});
frame.add(progressBar);
frame.add(startButton);
frame.setVisible(true);
}
}