분류 전체보기
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을 조합한 명세..
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..
Viwer의 종류와 프로바이더 종류 및 설명
Viewer - ContentViewer, StructuredViewer이 존재한다.1. ContentViewer - 다양한 인터페이스를 활용해서 도메인 객체 형태를 유지하면서 데이터를 다룬다. 이들 인터페이스는 JFace 관례에 따라 이름 앞에 I가 붙는다.- StructuredViewer는 ContentViewer에게 제공하는 데이터를 구조화 한다. 구조화하는 것은 넒은 범위를 의미하지만 필터링이나 정렬 같은 일반적인 작업을 실행하는 메소드들이 이계층에서 구현된다. 프로바이더(Provider)- 애플리케이션에 고유한 작업을 수행하여 위젯에서 사용가능한 데이터 부분을 만들어 낸다. - 리스트에서 도메인 객체를 나태내기위해 화면에 보여야 할 텍스트를 반환하는 일 등을 한다.1. LabelProvider-..
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..
출발점에서 되집어 보는 마음가짐
조엘 온 소프트웨어 - 유쾌한 오프라인 블로그국내도서저자 : 박재호,조엘 스폴스키(Joel Spolsky) / 이해영역출판 : 에이콘출판사 2005.04.07상세보기 출발점에서 되집어 보는 마음가짐 조엘 온 소프트웨어는 임베디드, 웹 개발자 등 소프트웨어를 제작하는 개발자들에게 현실 습관의 문제점을 정확하게 꼬집어주고 자신이 경함한 개발 노하우와 개발 이외의 필요한 덕목들에 대해서 즐겁고 흥미롭게 풀어서 이야기를 해주는 좋은 책이다. 해당 책은 관리자나 어느 정도 경력이 쌓인 개발자를 대상으로 작성되었다. 그렇지만 본인같이 처음으로 시작하는 초보 개발자에게는 방향성을 제공해 주는 좋은 책이다. 책을 읽으면서 개발자로서 가져야 할 덕목들을 많이 배웠다. 첫 번째로 개발자들이 가장 많이 저지르게 되는 행위는..