jface 21

대용량 테이블 조회가 가능한 Nattable 예제 실행 방법

TableViewer로는 대용량 데이터를 가져오는데 한계가 있다. 그래서 이클립스에서 제공하는 nattable을 사용하면 조금 더 빠르게 대용량 데이터를 가져올 수 있다. 그 nattable의 예제와 소스코드를 볼 수 있는 방법을 소개한다. 첨부된 파일 두개를 모두 다운 받고 cmd 창에서 다음 명령어를 실행시킨다. java -cp org.eclipse.swt.win32.win32.x86_64-4.3.jar;NatTableExamples-0.9.0.jar org.eclipse.nebula.widgets.nattable.examples.NatTableExamples 관련 주소https://eclipse.org/nattable/documentation.php?page=getting_started

RCP/SWT & JFACE 2016.12.24

Menifest 파일 설명

Menifest Dependencies 페이지1. Menifest는 플러그인들의 의존관계를 표시Require-Bundle: org.eclipse.ui,Org.eclipse.core.runtime 이 뜻은 해당 두개의 플러그인에 현재 플러그인이 종속된다는 것을 의미한다.해당 의미는 컴파일시 결정되는 종속성이 아닌 플러그인의 실행시에 사용되는 종속성이다.실행 중 참조해야 할 플러그인이 어떤 것인지 확인한다. 클래스 로드 중 Require-Bundle에 명시된 항목 중 클래스를 찾을 수 없을 경우 NoClassDefFoundError 예외가 발생한다. Require-Bundle: org.eclipse.ui,Org.eclipse.core.runtime;resolutoin=optional // 없어도 실행되는것(..

RCP/SWT & JFACE 2016.12.24

Action 클래스 살펴보기

필요한 액션을 구현하기 위해서 action클래스를 상속받아서 구현한다. Action 클래스의 메소드 Run() - action에 해당하는 이벤트 처리 수행Action() - 디폴트 생성자Action(String, ImageDescriptor) - text 필드를 생성하고 이미지를 action에 연결하는 생성자Action(String, int) - TEXT와 STYLE 필드를 설정하는 생성자. ImageDescriptor 객체는 이미지가 아니고 이미지를 생성하기 위해 필요한 정보를 가진 객체이다. getStyle() - STYLE 필드를 반환한다.setEnabled(boolean) - ENABLED 필드를 설정한다.getEnabled() - ENABLED 필드를 반환한다.setChecked(boolean)..

RCP/SWT & JFACE 2016.12.24

rcp프레임워크의 shell객체의 이벤트 처리 설명

Shell 객체는 이벤트를 위젯에 보내고 위젯은 이정보를 리스너로 불리는 인터페이스로 전달하고 리소드 메소드 중에 동작을 처리하는 이벤트 핸들러를 호출한다. 어댑터어댑터는 추상클래스로서 Listener 인터페이스를 구현하고 필요한 각 메소드의 기본적인 구현을 제공한다.필요한 메소드만 작성하면 된다.(리스너로 코딩하면 필요하지 않은 부분도 코딩해야 한다.)즉, 위젯을 리스너가 아닌 어댑터와 연결한다면 조금더 편리하다. 케이스 1.리스너로 코딩하기Button.addMouseListener(new MouseListener(){Public void mouseDown(MosueEvent e){Clkdevent();} 어댑터로 코딩하기Button.addMouseListener(new MouseAdapter(){Pu..

RCP/SWT & JFACE 2016.12.24

JFace TreeViewer설명

ViewerViewer는 MVC 패턴을 가지고 있다.Viewer의 하위 클래스인 ContentVier와 StructuredViewer가 있다. ContentViewer는 다양한 인터페이스를 활용해서 도메인 객체 형태를 유지하면서 데이터를 다룬다. 이들 인터페이스는 이름 앞에 I를 붙인다. 이러한 인터페이스는 확장점을 표시하며 이를 사용하여 애플리케이션의 맞춘 로직을 프레임워크에 넣을 수 있다. StructuredViewer는 ContentViewer에게 제공하는 데이터를 구조화 한다. 구조화는 필터링, 정렬 기능 같은 일반적인 작업을 실행하는 메도드들이 이 계층에서 구현된다. 각 위젯인 Tree, List, Table 등은 이에 맞는 Viewer의 하위 클래스로 ListViewer나 tableViewer..

RCP/SWT & JFACE 2016.12.24

IWizardPage 인터페이스

Jface는 IWizardPage 인터페이스를 사용하여 마법사의 페이지 하나를 표현한다. getName() : 위자드의 유일한 이름을 가진다.getNextPage(), getPreviousPage() 이 메소드들은 다음이나 이전의 페이지로 이동한다.isPageComplete() 사용자가 해당 페이지에서 필요한 모든 내용을 채웠는지 알아낸다.canFlipToNextPage() : 다음 버튼을 사용할 수 있는지 체크 한다. 마법사를 담는 부분은 Iwizard 인터페이스이고 각 페이지는 wizardpage가 나타낸다. 마법사 컨테이너 마법사 컨테이너는 하나 이상의 마법사에 대한 호스트로서의 역할을 수행한다. Dialog SettingDialogSetting은 IDialogSettings 인터페이스를 구현한다...

RCP/SWT & JFACE 2016.12.24

Drag & Drop 구현 방법

어플리케이션에 항목 드롭하기등록된 컨트롤에 데이터를 올려 놓을 경우 데이터를 받아 들일 수 있으며, 이때 DropTarget의 인스턴스를 사용한다.DropTarget은 위젯이 선택할 수 있는 데이터의 유형과 그 위젯에서 수행하기로 공인된 동작, 두 가지 모두 저장할 수 있다. 운영체제가 이러한 정보를 사용하여 항목이 해당 위젯을 지나갈 때 그 항목을 놓을 수 있는지에 대한 가시적인 피드백을 제공한다.우선 타겟을 등록하면, DropTargetListener가 DropTargetEvent를 받으며, 이 이벤트는 사용자가 컨트롤내에 어떤 것을 놓을때 발생한다. 연산 상수설명DROP_COPY 항목을 컨트롤 안이나 밖으로 드래그 할 때 복사한다.DROP_MOVE마우스를 놓은 위치로 항목을 이동시킨다.DROP_LI..

RCP/SWT & JFACE 2016.12.24