▶ JSpinner
- 스피너는 두 개의 화살표가 붙은 텍스트 필드이다.
- 텍스트 필드는 숫자를 표현하고 있고 사용자는 화살표를 클릭하여 값들을 증가 또는 감소시킬 수 있다.
- 주로 지정된 범위에서 개수를 정하거나, 날짜를 선택할 때 사용한다. 그 외 다른 용도로도 사용가능하다.
JSpinner |
||
생성자 |
JSpinner() |
정수를 가지고 있는 SpinnerNumberModel이 초기값으로 0이 되어 새로운 스피너 객체를 생성한다. |
JSpinner(SpinnerModel sm) |
새로운 스피너 모델을 지정받은 스피너 객체를 생성한다. |
|
메소드 |
void setValue(Object obj) |
값을 설정한다. |
Object getValue() |
선택된 값을 반환한다. |
|
Object getNextValue() |
선택된 값의 다음 값을 반환한다. |
|
Object getPreviousValue() |
선택된 값의 이전 값을 반환한다. |
- 스피너 모델(SpinnerModel를 상속받는다.)
String[] names = {“김철수”, “김영희”, “김숙자”, “김자몽”};
SpinnerListModel listModel = new SpinnerListModel(names);
SpinnerNumberModel numberModel = new SpinnerNumberModel(0, 1, 2, 3, 4, 5);
//최소날짜(start)와 최대날짜(end)를 지정할 수 있다. Calendar 객체는 증가&감소가 된다.
SpinnerDataModel dateModel = new SpinnerDateModel(value, start, end, Calendar.YEAR);
- 스피너 모델은 총 4가지가 있다.
AbstractSpinnerModel
SpinnerDateModel
SpinnerListModel
SpinnerNumberModel
- JSpinner 예제
public class SpinnerTest extends JFrame {
//FIELDS
private String[] name = {"김철수", "김숙자", "김영희", "김자몽"};
private JPanel panel = new JPanel();
private JSpinner spinner;
//CONSTRUCTOR
SpinnerTest() {
setTitle("스피너 예제");
setSize(500, 200);
setDefaultCloseOperation(JFrame.EXITE_ON_CLOSE);
// List Model
SpinnerListModel listModel = new SpinnerListModel(name);
spinner = new JSpinner(listModel);
panel.add(spinner);
// Number Model
SpinnerNumberModel numberModel = new SpinnerNumberModel(1, 2, 3, 4, 5, 6);
spinner = new JSpinner(numberModel);
panel.add(spinner);
// Date Model
Calendar calendar = Calendar.getInstance(); //갤린더 객체 얻기
Date value = calendar.getTime(); //현재 시간 얻기
calendar.add(Calendar.YEAR, -50); // 50년 전의 날짜 얻기
Date start = calendar.getTime(); //50년 전의 날짜를 최소 날짜로 지정
calendar.add(Calendar.YEAR, 100); // 50년 뒤의 날짜 얻기 +50하면 현재날짜가됨.
Date end = calendar.getTime(); //50년 뒤의 날짜를 최대 날짜로 지정
SpinnerDateModel dateModel = new SpinnerDateModel(value, start, end, Calnedar.YEAR);
spinner = new JSpinner(datemodel);
spinner.setEditor(new JSpinner.DateEditor(spinner, "yyyy/MM/dd")); //날짜 편집기 지정
panel.add(spinner);
add(panel);
setVisible(true);
}
//METHODS
public static void main(String[] args) {
new SpinnerTest();
}
}
'Programming Language > JAVA' 카테고리의 다른 글
29. JTree - 트리 (0) | 2017.06.29 |
---|---|
28. JSlider - 슬라이더 (0) | 2017.06.29 |
26. JComboBox - 콤보박스 (0) | 2017.06.29 |
25. JList - 리스트 (0) | 2017.06.25 |
24. JScrollPane - 스크롤 페인 (0) | 2017.06.25 |