UI 작업을 하다보면 아래와 같이 보조 영역에 대한 펼침과 접힘을 구현해야 할 경우가 생긴다. 이경우 SWT SashForm을 활용하는 것이 가장 깔끔하게 작업을 마무리 할 수 있다.
▼ 예제의 UI 구성
SashForm을 구성하는 컴포지트를 생성하고 각 컴포지트의 비중을 설정하는 것은 아래의 코드로 구현된다.
// SashForm 생성 SashForm sashForm = new SashForm(compositeBody, SWT.NONE); // 메인 컴포지트 생성 Composite compositeMain = new Composite(sashForm, SWT.NONE); compositeMain.setBackground(SWTResourceManager.getColor(SWT.COLOR_GREEN)); compositeMain.setLayout(new FormLayout()); // 보조 컴포지트 생성 Composite compositeSub = new Composite(sashForm, SWT.NONE); compositeSub.setBackground(SWTResourceManager.getColor(SWT.COLOR_BLUE)); compositeSub.setLayout(new FormLayout()); // sashform의 비중 설정 (메인 : 2, 보조 : 1) sashForm.setWeights(new int[] {2, 1});
닫기버튼으로 보조 컴포지트의 영역을 감추는 기능은 아래의 코드로 구현된다. SashForm의 비중 설정에서 보조 컴포지트 영역을 '0'으로 설정하여 기능을 수행한다.
// 닫기버튼 btnClose.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // sashform의 비중 설정 (메인 : 1, 보조 : 0) => 보조 컴포지트가 감춰진다. sashForm.setWeights(new int[] {1, 0}); } });
'JAVA > SWT_JFACE' 카테고리의 다른 글
ScrolledComposite 사이즈 설정 (0) | 2015.11.11 |
---|---|
이미지 설정 기능이 추가된 간단한 커스텀 이미지 버튼 클래스 (0) | 2015.11.11 |
Canvas를 활용한 Custom 버튼 활용 (0) | 2015.11.05 |
TableEditor를 이용한 Table 에디터 구성 (0) | 2015.10.28 |
JAVA 화면 캡쳐 코드 (0) | 2015.08.31 |