위젯 툴킷(Standard Widget Toolkit)으로 이클립스에서 사용하고 있는 자바기반의 위젯 툴킷(Widget Toolkit)
우리가 사용하는 이클립스에 ViewPart,EditorPart등 도구를 만들기 위한 기초입니다.
ㅁ 구성
Display객체, Shell객체 그리고 그 하위에 위젯에 개념이 들어간다
OS는 swt.jar에 따라 여러가지 운영체계 프로그램을 만들 수 있다
위젯은 기본이다
ㅁ 환경설정
Java 프로젝트 생성
ㅁ 참고사이트
http://www.eclipse.org/swt/
각종 위젯등에 대한 예시 가 소스하고 함께 잘되어 있음
ㅁ Widget의 구성요소
ㅁ 각 위젯에 요소
위젯은 좀 프로그램을 해본 경험이 있는사람의 경우 쉽게 알수 있기 때문에 많은 설명을 하지않고 단지 기능 요약을 해보겠습니다.
1) Control 메소드
Control메소드 |
기능 |
getSize() |
위젯크기를 표시하는 Point 객체반환 |
setSize(int,int) |
너비와 길이 값 설정 |
setSize(Point) |
Point 객체에 따라 위젯크기 설정 |
computeSize() |
위젯 내용을 모두 보여줄수 있는 면적을 반환 |
computeSize(int,int,boolean) |
위젯내용을 모두 보여줄수 있는 면적을 반환하고, 위젯 특성이 바뀌었는지 알려줌 |
pack() |
위젯을 선호하는 크기로 재조정한다 |
pack(boolean) |
위젯을 선호하는 크기로 재조정하고, 특성이 바뀌었는지 알려줌 |
getLocation() |
위젯의 부모에 대한 상대위치 |
setLocation(int,int) |
위젯의 부모에 대한 상대위치 설정 |
getBounds() |
위젯의 크기와 부모에 대한 상대 위치를 반환한다 |
setBounds(int,int,int,int) |
위젯의 크기와 부모에 대한 상대위치 설정 |
toControl(int,int) |
화면 기준 좌표를 컨트롤 기준 Point 값으로 바꾼다 |
toControl(Point) |
화면 기준 Point값을 컨트롤을 기준 Point 값으로 바꾼다 |
toDisplay(int,int) |
컨트롤 기준좌표를 컨트롤 기준 Point 값으로 바꾼다 |
toDisplay(Point) |
컨트롤 기준 Point 값을 Point 값으로 바꾼다 |
※ setSize() 보다 pack() 컨테이너 크기를 알아서 조절
2) Label 메소드
위치 : SWT.LEFT, SWT.RIGHT, SWT.CENTER,
구분선 : SWT.SPARATOR
수직/수평 : SWT.VERTICAL, SWT.HORIZONTAL
그림자 : SWT.SHADOW_IN, SWT.SHADOW_OUT, SWT.SHADOW_NONE
==>SWT에는 열거형 정수형으로 많은 타입을 가지고 있다
Label메소드 |
기능 |
getText() |
Label 텍스트 읽기 |
setText(String) |
Label텍스트 쓰기 |
getAlignment() |
정렬가져오기 |
setAlignment(int) |
정렬 setting |
getImage() |
이미지 set |
setImage(Image) |
이미지 get |
3) Button
SWT.PUSH,
SWT.ARROW | SWT.RIGHT
SWT.TOGGLE
SWT.CHECK, SWT.RADIO
4) Composite
각Control을 집합으로 구성가능하다
4.1) Composite 기본
Composite 메소드 |
기능 |
getChiendren() |
Control 객체의 배열을 반환한다 |
getLayout() |
Composite에 연결한 레이아웃을 반환한다 |
setLayout(Layout) |
Composite에 연결한 레이아웃을 설정한다 |
getTabList() |
탭 순서에 따른 Control 객체의 배열을 반환한다 |
setTabList(Control[]) |
Composite의 위젯의 탭 순서를 설정한다 |
4.2) Composite의 하위클래스로 Scrollable 속성을 추가 사용
Scrollable 메소드 |
기능 |
getClientArea() |
Scrollable 객체에 가능한 화면 표시 면적을 반환한다. |
computeTrim(int,int,int,int) |
기대하는 클라이언트 영역을 위한 Composite의 필요 면적을 반환한다 |
getHorizontalBar() |
수평 ScrollBar 객체를 반환한다 |
getVerticalBar() |
수직 ScrollBar 객체를 반환한다 |
5) Group
그림자 속성과 함께 추가적으로 식각(etching)을 표시한다.
SWT.SHADOW_ETCHEND_IN SHADOW_ETCHEND_OUT
6) SashForm
7) TabFolder
getItemCount : TabFolder 의 TabItem 수반환
getItems() : TabItem 객체의 배열을 반환
getSelection() : 사용자가 어떤 TabItem을 선택했는지
setSelection(): 선택될 탭을 설정
7) LIst
8) Combo
style : SWT.SIMPLE, SWT.DROP_DOWN, SWT.READ_ONLY
9) Tree
▶ 트리에서 사용하는 메소드 : Scrollable의 확장기능임.
메소드 |
기능 |
addSelectionListener() |
선택 이벤트의 통지 |
addTreeListener() |
TreeListener 인터페이스는 +확장 – 축소 할 때 |
select()/deselect() |
현재 선택/ 제외 |
getSelection() |
현재 선택항목 |
show() |
주어진 항목을 보일때까지 스크롤 |
Style로는 SWT.SINGLE, SWT.MULT
▶ TreeItem 메소드
메소드 |
기능 |
getItem() |
Tree 하위를 각각 TreeItem이라하면 불러오기 |
getChecked() |
체크 |
setExpanded(boolean) |
확장 |
예제) Widdget Window에서 Tab을 만들고 그안에 두개 Composite가 구성된 Composite를 추가
Composite에는 Group Composite, SashForm Composite구성해보았다
'IT > RCP' 카테고리의 다른 글
[SWT] 클립보드 (0) | 2020.12.19 |
---|---|
[SWT] Drag & Drop (0) | 2020.12.19 |
[SWT] 다이얼로그 (0) | 2020.12.19 |
[SWT] Layout (0) | 2020.12.19 |
[SWT] 이벤트 (0) | 2020.12.19 |