반응형
SWT Tree
Java의 SWT의 아주 간단한 Tree 예제다.
Tree를 사용하고 싶은데 어떻게 생성해야할지 모를때 참고하면 좋을 것 같다.
기본적으로 Tree가 Root가 되고
TreeItem이 Root아래로 자식을 추가해나가는 그런 흐름이라고 생각하면 된다.
TreeItem은 TreeItem을 자식으로 둘 수가 있어,
단계별로 트리가 확장이 되어 간다.
org.eclipse.swt.widgets.TreeItem.TreeItem(TreeItem parentItem, int style)가 사용된 함수인데,
style에는 SWT.SINGLE, SWT.None, SWT.NULTI가 들어간다.
트리의 스타일을 정의하는 것인데, 애매할 때는 None으로 두면 된다.
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
public class SWTTree {
Display display = new Display();
Shell shell = new Shell(display);
Tree tree;
public static void main(String[] args) {
// TODO Auto-generated method stub
new SWTTree();
}
public SWTTree() {
shell.setLayout(new GridLayout()); // 레이아웃 설정 => GridLayout
shell.setText("Application");
tree = new Tree(shell, SWT.BORDER); // 트리 생성(Shell Base)
tree.setLayoutData(new GridData(GridData.FILL_BOTH)); // GridLayout에 어떤 식으로 배치할 건지?
// 트리 아이템 생성. tree의 자식 요소로 생성한다.
TreeItem item = new TreeItem(tree, SWT.MULTI);
item.setText("1단계 트리");
// 1단계 트리의 자식 노드 요소로 생성한다.
TreeItem item2 = new TreeItem(item, SWT.MULTI);
item2.setText("2단계 트리");
// ...
TreeItem item3 = new TreeItem(item2, SWT.MULTI);
item3.setText("3단계 트리");
// ...
TreeItem item4 = new TreeItem(tree, SWT.MULTI);
item4.setText("1단계 트리");
TreeItem item5 = new TreeItem(item4, SWT.MULTI);
item5.setText("2단계 트리");
shell.setSize(300, 300);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
결과 모습
반응형
'Java > 순수 Java' 카테고리의 다른 글
[Java] Eclipse 이클립스 크롬 연동하기(Web Browser 연동) (0) | 2020.03.13 |
---|---|
[Java] SWT Tree와 Map을 활용한 Directory 출력 예제 소스 (0) | 2020.03.12 |
[Java] Reflection (0) | 2020.03.06 |
[Java] Apache log4j .properties 생성 및 오류 해결 방법 (0) | 2020.03.06 |
[Java] Property 파일(.properties) 생성 및 사용 (0) | 2020.03.05 |