기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[Java] SWT Tree 사용 예제
Java/순수 Java

[Java] SWT Tree 사용 예제

2020. 3. 12. 15:20
반응형
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
    'Java/순수 Java' 카테고리의 다른 글
    • [Java] Eclipse 이클립스 크롬 연동하기(Web Browser 연동)
    • [Java] SWT Tree와 Map을 활용한 Directory 출력 예제 소스
    • [Java] Reflection
    • [Java] Apache log4j .properties 생성 및 오류 해결 방법
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바