728x90
안녕하세요. 이번 포스팅에서는 jdatepicker 라는 라이브러리를 사용해 swing으로 캘린더를 생성하고 유저가 선택한 날짜를 표시하는 예제를 알려드리겠습니다.
우선 jdatepicker 라이브러리를 다운받습니다.
그런 다음 라이브러리를 설치해줍니다.
project structure -> Modules→ 자바 프로젝트 클릭 → Dependencies → + 버튼 클릭 → JARs or directories
다음은 전체 코드입니다.
import net.sourceforge.jdatepicker.impl.JDatePanelImpl;
import net.sourceforge.jdatepicker.impl.JDatePickerImpl;
import net.sourceforge.jdatepicker.impl.UtilDateModel;
import javax.swing.*;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
// 필요한 라이브러리와 클래스들을 가져옵니다.
public class JDatePickerEx extends JFrame {
//JDatePickerEx라는 이름의 클래스를 선언하며, 이 클래스는 JFrame을 확장(extends)하여 GUI 프레임을 생성할 수 있습니다
public JDatePickerEx() {
UtilDateModel model = new UtilDateModel();
//날짜를 저장하고 관리하기 위해 UtilDateModel 객체를 생성합니다.
JDatePanelImpl datePanel = new JDatePanelImpl(model);
//날짜를 선택할 수 있는 패널(JDatePanelImpl)을 생성하고, 앞서 생성한 model을 인자로 전달하여 연결합니다.
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel);
//실제로 사용자에게 보여지는 날짜 선택 위젯(JDatePickerImpl)을 생성하고, 앞서 생성한 datePanel을 인자로 전달합니다.
add(datePicker);
setBounds(300,300,400,400);
//프레임의 시작 위치를 (300, 300)으로 설정하고, 크기를 400x400 픽셀로 지정합니다.
// 날짜가 변경될 때마다 호출되는 listener 추가
model.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if ("value".equals(evt.getPropertyName())) {
System.out.println(model.getValue()); // 선택한 날짜를 출력
}
}
});
setVisible(true);
}
public static void main(String[] args) {
new JDatePickerEx();
}
}
import net.sourceforge.jdatepicker.impl.JDatePickerImpl;
import net.sourceforge.jdatepicker.impl.UtilDateModel;
import javax.swing.*;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
// 필요한 라이브러리와 클래스들을 가져옵니다.
public class JDatePickerEx extends JFrame {
//JDatePickerEx라는 이름의 클래스를 선언하며, 이 클래스는 JFrame을 확장(extends)하여 GUI 프레임을 생성할 수 있습니다
public JDatePickerEx() {
UtilDateModel model = new UtilDateModel();
//날짜를 저장하고 관리하기 위해 UtilDateModel 객체를 생성합니다.
JDatePanelImpl datePanel = new JDatePanelImpl(model);
//날짜를 선택할 수 있는 패널(JDatePanelImpl)을 생성하고, 앞서 생성한 model을 인자로 전달하여 연결합니다.
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel);
//실제로 사용자에게 보여지는 날짜 선택 위젯(JDatePickerImpl)을 생성하고, 앞서 생성한 datePanel을 인자로 전달합니다.
add(datePicker);
setBounds(300,300,400,400);
//프레임의 시작 위치를 (300, 300)으로 설정하고, 크기를 400x400 픽셀로 지정합니다.
// 날짜가 변경될 때마다 호출되는 listener 추가
model.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if ("value".equals(evt.getPropertyName())) {
System.out.println(model.getValue()); // 선택한 날짜를 출력
}
}
});
setVisible(true);
}
public static void main(String[] args) {
new JDatePickerEx();
}
}
다음은 시연 영상입니다.
'Java' 카테고리의 다른 글
[Java] Java Swing으로 회원가입 & 로그인 프로그램 만들기(1) (0) | 2023.12.08 |
---|---|
[JAVA] 일기장 관리 프로그램 만들기 (0) | 2023.12.07 |
[JAVA] 쿠키 세션 관리하기 (0) | 2023.11.23 |
[JAVA] Swing 라이브러리를 사용하여 디지털 시계를 만들기 (0) | 2023.11.14 |
[JAVA] HTTP로 이미지 업로드 및 다운로드 하기 (2) | 2023.11.13 |