반응형

RCP/SWT & JFACE

    java GUI 툴 SWT vs Swing vs AWT

    자바에서 사용되는 그래픽 유저 인터페이스(GUI)툴중 대표적인 종류는 3가지이다. AWT SWING SWT/JFACE 각각 마다 동작하는 방식이 다르기 때문에 장단점이 다르다. 서로의 특징을 알아보자 1. AWT- Abstract Windows Toolkit (AWT)는 오리지널 자바의 GUI툴킷- 자바의 런타임의 일부로 안정되고, 추가 설치가 필요 없음- 대개의 경우 리소스관리를 프레임워크에서 처리- UI 쓰레드를 신경쓰지 않아도 됨 (그러나 성능의 문제가 됨)- 콘테이너 없이 콤포넌트 생성 및 콘테이너 변경 가능- 풍부한 그래픽 환경 제공- 각 OS별 최소한의 공통 기능의 wrapper를 구현함으로써 제한적 기능을 제공- 일반적으로 사용되는 테이블, 트리, 진행 바 같은 것은 애플리케이션 레이어에서 ..

    eclipse 범용 UI JFace 소개

    Jface - SWT는 윈도우에서 정의한 위젯에 대한 접근을 제공한다면, JFace는 범용 UI 개념을 위한 구조와 편의기능을 제공한다. - JFace는 SWT와 다르게 윈도우 시스템에 독립적이며 SWT와 동시에 활용될 수 있다. - JFace는 UI 툴킷 컴포넌트의 모든 영역을 담당한다. 이미지, 폰트, 레지스트리 텍스트 지원, 대화창 ,환경설정, 마법사를 위한 프레임워크, Action, Viewer같은 것들을 담당한다.

    RCP프레임워크 재료인 SWT 소개와 단점

    SWT swt 소개 SWT는 각 운영체제마다 운영체제 고유의 UI 모양과 동작을 제공하는데, 실제로 UI를 운영체제의 자원을 이용하여 구성하고, 그 동작을 운영하는 것도 운영체제이기 때문이다. 예를 들어 윈도우즈용 SWT는 GDI(Graphic Device Interface. 마이크로 소프트 윈도우즈의 어플리케이션 개발 API)자원을 이용하여 UI를 만든다. swt 단점 - 자원의 한계 단점으로, 운영체제 자원을 추상화한 SWT 객체는 사용이 끝나면 dispose() 메서드를 호출해 반드시 운영체제에게 돌려주어야 한다. 만약 너무 많은 수의 운영체제 자원을 할당 받으면, 실행중인 다른 응용프로그램까지 악영향을 미칠 수 있고, 운영체제가 더이상 자원을 할당하는 것을 거부할 수 도 있다. swt 단점 - 메..

    RCP 프레임워크의 Extension and Extension Points

    Extension and Extension Points 모듈 소프트웨어를 만드는 기본적인 규칙은 컴포넌트간 커플링을 피하는 것이다. 만약 컴포넌트가 강력하게 통합되어 있다면, 서로 다른 설정들을 조작하거나 시스템의 변화없이 다르게 구현된 컴포넌트로 교체하는 것이 힘들게 된다. 이클립스에서 커플링을 줄이는 것은 extensions / extension points(이하 확장/확장지점)를 통해서 이루어진다. - Extension자신의 플러그인에 다른 플러그인(view, editor)등을 사용하여 기능적으로 확장하고 싶은경우에 플러그인의 extension에 정의를 한다. - Extension pointsextension point는 extension이 반드시 따라야 하는 자바 인터페이스와 xml을 조합한 명세..

    현재 화면의 활성화된 shell 얻는 방법

    PlatformUI.getWorkbench().getDisplay().getActiveShell()

    Tableviwer와 편집모드, 컨텍스트 메뉴 생성

    package Table; import org.eclipse.jface.action.Action;import org.eclipse.jface.action.IAction;import org.eclipse.jface.action.MenuManager;import org.eclipse.jface.viewers.CellEditor;import org.eclipse.jface.viewers.ColumnWeightData;import org.eclipse.jface.viewers.ComboBoxCellEditor;import org.eclipse.jface.viewers.ICellModifier;import org.eclipse.jface.viewers.ILabelProviderListener;import org...

    JFace의 treeList 예제

    Ch8List.Javapackage Ch8; import java.util.ArrayList;import java.util.List; import org.eclipse.jface.viewers.IStructuredContentProvider;import org.eclipse.jface.viewers.LabelProvider;import org.eclipse.jface.viewers.ListViewer;import org.eclipse.jface.viewers.ViewerFilter;import org.eclipse.jface.viewers.ViewerSorter;import org.eclipse.jface.viewers.Viewer;import org.eclipse.swt.SWT;import org.ec..

    JFACE TreeViewer 예제

    TreeViewer 메뉴- 모든 TreeViewr 구조의 예제를 제작해보았다. 1. Ch8TreeCompositepackage Ch8Tree; import java.util.ArrayList;import java.util.List; import org.eclipse.jface.viewers.ITreeContentProvider;import org.eclipse.jface.viewers.TreeViewer;import org.eclipse.jface.viewers.Viewer;import org.eclipse.swt.SWT;import org.eclipse.swt.layout.FillLayout;import org.eclipse.swt.widgets.Composite; public class Ch8Tree..

    SashForm 소개와 예제

    SashForm은 이동이 가능한 경계선을 자식 위젯 사이에 생성함으로써 하나의 위젯을 늘리면 다른 한쪽이 감소하게 만들 수있다. Sash 클래스는 대부분 위젯처럼 org.eclipse.swt.widges패키지에 위치하지만 SashForm 크래스는 org.eclipse.swt.custom 패키지에서 찾을 수 있다. Public Ch3_SashForm(Composite parent){Super(parent, SWT.NONE); SashForm sf = new SashForm(this, SWT.VERTICAL);Sf.setsize(120,80); Button button1 = new Button(sf, SWT.ARROW | SWT.UP);Button1.setSize(120,40); Button button2 ..

    SWT의 Text와 StyledText

    SWT에서는 Text와 StyledText 두가지를 제공한다. Text는 여러 이벤트를 연관 시킬 수 있다.addModifyListener() // 텍스트 수정 리스너addSelectionListener() // 컨트롤 선택 리스너addVerifyListener() // 텍스트에 변화가 일어났을때 발생Append() // 추가Insert() 대체setSelection(), selectAll() // 선택setEchoCharacter() // 사용자가 타이핑 하는 문자 대신 보여줄 다른 문자열 지정setEditable() // 편집을 가능하게 하거나 불가능하게 한다.setFont() StyledText는 text에서 제공하는 모든 메소드를 제공하고 폰트, 텍스트 색상, 폰트 스타일 등으 ㅣ기능이 추가된다...

반응형