반응형
Eclipse RCP - plugin.xml을 사용한 view 생성
1) Command과정과 동일하게 plugin.xml – Extensions – Add 선택
2) View 검색 후 Finish
3) Org.eclipse.ui.views 오른쪽 버튼 클릭 후 view 선택
4) ID 작성 후 class*: 클릭 – Class Name 작성
5) createPartControl에서 View에 Component, Layout을 추가해준다.
public class SampleView extends ViewPart {
public SampleView() {
// TODO Auto-generated constructor stub
}
@Override
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub
// View의 구성요소를 작성하는 코드
}
@Override
public void setFocus() {
// TODO Auto-generated method stub
}
}
- 추가적으로 Java에서 디자인 편집을 편하게 도와주는 Window Builder가 있다. Eclipse Market에서 다운로드 가능하다.
6) 윈도우 빌더가 설치되었으면 윈도우 빌더 에디터로 View Class를 열어준다.
7) 적당히 Layout먼저 지정하고 그 위에 컴포넌트들을 올린다. 나는 ID와 PW를 받는 TextInput을 구성했다. Design후 Source를 확인해 보면 아래와 같이 나온다.
public void createPartControl(Composite parent) {
parent.setLayout(new GridLayout(2, false));
Label lblId = new Label(parent, SWT.NONE);
lblId.setText("ID");
text = new Text(parent, SWT.BORDER);
GridData gd_text = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
gd_text.widthHint = 90;
text.setLayoutData(gd_text);
Label lblNewLabel = new Label(parent, SWT.NONE);
lblNewLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
lblNewLabel.setText("PW");
text_1 = new Text(parent, SWT.BORDER);
GridData gd_text_1 = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
gd_text_1.widthHint = 84;
text_1.setLayoutData(gd_text_1);
}
8) Plugin.xml로 돌아가서 Extension 탭 클릭 – Add.. – perspectiveExtensions 요소를 추가
생성한 View를 Window 화면에 붙히는 과정이다.
9) *로된 perspectiveExtension을 클릭 – targetID를 적당히 수정
10) 오른쪽 버튼 클릭 – view 생성
11) Details 설정을 id를 아까 생성한 View의 ID로, relative(연관관계)는 그냥 자신으로. Relationship은 stack을 사용하고, visible을 true로 바꿔준다
이 Extension Element Details은 View의 배치 위치를 정하고 배치 관계, 움직일 수 있는지의 여부 등 옵션을 정할 수 있다.
- 실행을 하면 View가 추가가 될 수도 있고, 안 될 수도 있는데 프로그램을 실행할 때 이전 설정에 대한 정보가 Clear가 되어 있지 않아서 그럴 수 있다. Run Configurations 속성에 들어가서
- 작업하고 있는 프로젝트를 클릭 후, Clear 항목을 선택한다. 아래 Ask for confirmation before clearing은 항상 실행할 때마다 정보를 Clear할 건지 묻는 창을 띄울 지를 묻는 건데, 나는 그냥 체크를 풀어놓는 편.
12) 실행 결과
반응형
'Java > RCP&GEF' 카테고리의 다른 글
[GEF] Eclipse GEF 3.11 다운로드 방법 (0) | 2020.04.02 |
---|---|
Eclipse GEF - Editor를 화면에 띄우는 방법 (0) | 2020.04.02 |
Eclipse RCP - plugin.xml에서 View의 데이터 다른 View로 옮기기 (0) | 2020.04.01 |
Eclipse RCP - plugin.xml을 사용한 Command Handler 생성 (0) | 2020.04.01 |
[RAP] Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8 오류 해결 (0) | 2020.03.13 |