강좌 & 팁
Java SWT에서 Spinner 만들기
Java 프로그램 작성시 Spinner를 만들어 보도록 하겠습니다.
원래는 Spinner를 만들어야지 하다가.. 갑자기 Spinner가 생각이 안나서 텍스트와 버튼을 조합해서 직접 만들어봤었습니다. 꼭 이런 경우에는... 이름이 생각 나지 않다가 다 만들고 나면 이름이 생각나서 삽질했다는 생각이 들게 하네요.
1. Spinner 원래 모양
원래 Spinner 는 아래와 같이 생겼습니다. 텍스트 란이 있고, 그 옆에 상하 버튼이 있어서 누르면 수치가 변경되게 합니다.
만드는 방법은 간단합니다.
Spinner spinner = new Spinner(shell, SWT.BORDER);
생성을 하면서 옵션의 의미만 알면 어렵지 않습니다.
setMinimum : 최소값을 정해줍니다. 최소값인 상태에서 아무리 값을 낮추는 버튼을 클릭해도 변경되지 않습니다.
setMaximum : 최대값을 정해줍니다.
setSelection : 초기값을 정해줍니다.
setIncrement : 오른쪽 화살표를 클릭했을 때, 증가/감소 되는 수치를 정해줍니다.
setPageIncrement : 키보드에서 Page Up/Page Down 키를 눌렀을 때, 변경되는 수치를 정해줍니다.
2. Spinner 변형 모양
삽질이라고 생각했던 부분은 아래와 같습니다. 일반적인 Spinner 와 다른 점은 텍스트가 아닌 콤보 창으로 되어 있다는 것입니다.
위의 이미지대로 만들려고 직접 구현을 하게 됐는데, 실제 Spinner 에서는 위와 같은 변형된 형태를 만들 수 없어서... 그나마 삽질이 아닌 형태로 되었습니다.
처음에는 Spinner에서 텍스트를 콤보로 바꿀 수 있을 줄 알았는데, 정보가 부족해서인지.. 아니면 원래 못 바꾸는지 위의 그림과 같은 형태로 변경할 순 없었습니다.
그래서 나름 의미 있는 삽질이 된 코드를 적어보도록 하겠습니다.
GUI 는 Java SWT를 사용하였습니다.
Combo cmb; // 왼쪽의 콤보
위의 내용은 GUI 만 만들어주는 것이므로 각 버튼에 대한 설정은 직접 만들어줘야 합니다.
~(^_ ^ )~
기본 Spinner 는 숫자만 가능한데, 위와 같이 직접 만든 Spinner 는 콤보도 가능하고 숫자가 아닌 문자를 넣을 수 있어서 활용 범위가 좀 더 넓어진거 같습니다.
|