자바 기반 그래 픽 사용자 인터페이스 개발

SWT(Standard Widget Toolkit)는 IBM 이 내 놓 은'자바 기반'그래 픽 인터페이스 개발 라 이브 러 리 입 니 다.제 가'자바 기반'이 라 고 말 한 이 유 는 프로그래머 가 코드 를 작성 할 때 자바 언어 를 사용 한 다 는 뜻 입 니 다.사실은 SWT 의 바 텀 구현 은 C 언어 로 이 루어 졌 습 니 다.하지만 프로그래머 들 에 게 는 투명 하 다.우 리 는 SWT 를 사용 해 GUI 프로그램 을 개발 할 때 SWT API 로 직접 쓴다.사실 많은 자바 코드 는 JNI 제 거 를 통 해 C 코드 로 이 루어 집 니 다.서로 다른 플랫폼 의 각 유형 에 대해 서로 다른 실현 방식 을 가진다.이 글 의 목적 은 SWT 의 디자인 원 리 를 이야기 하 는 것 이 아니 라 이런 것 에 관심 이 있다 면 참고 할 수 있다.http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html。 SWT 를 어떻게 사용 하 는 지 소개 하 겠 습 니 다.우선 이 클립 스 3.0 을 설치 했다 고 가정 하 겠 습 니 다.물론 다른 버 전도 괜 찮 습 니 다.아직 없 으 면 www.eclipse.org 에서 다운로드 하 세 요.Eclipse 를 실행 하고 자바 투시 도 아래로 전환 하여 Package explore 에서 자바 procject 를 새로 만 듭 니 다.이름 은 Test 입 니 다.Libraries 에서 Add external JARs 를 선택 하여 SWT 를 실행 하 는 데 필요 한 라 이브 러 리 를 추가 합 니 다.이것 은 시스템 과 관련 된 것 입 니 다.예 를 들 어 제 가 windows xp 에서 주 소 는 D:eclipsepluginsorg.eclipse.swt.win 32 입 니 다.3.0.0wswin32swt.jar。이것 을 추가 합 니 다.이 swt.jar 파일 을 가리 키 는 variables 를 만 드 는 것 을 권장 합 니 다.나중에 variables 를 직접 추가 하면 됩 니 다.import org.eclipse.swt.widgets.*와 같은 자바 코드 를 작성 합 니 다.  import org.eclipse.swt.*;   public class SWTHello {   public static void main(String[] args) {   Display display = new Display();   Shell shell = new Shell(display);   Label label = new Label(shell, SWT.NONE);   label.setText("Hello, World!");   shell.pack();   label.pack();   shell.open();   while(!shell.isDisposed())    if(!display.readAndDispatch())     display.sleep();     display.dispose();     label.dispose(); }}실행 환경 을 설정 합 니 다.SWT 프로그램 이 실 행 될 때 이 컴퓨터 자원 을 사용 해 야 하기 때문에 위의 프로그램 을 실행 할 때 오류 가 발생 할 수 있 습 니 다.java.lang.Unsatisfied LinkError:no swt-win 32-2133 in java.library.path 와 유사 하기 때문에 필요 한 DLL 위 치 를 지정 해 야 합 니 다.구체 적 인 방법 은 메뉴 run->run 에서 실행 설정 인터페이스 로 전환 하고 Arguments 를 선택 하여 VM Arguments 에-Djava.library.path=예 를 들 어 제 기계 에 있 는 DLL 의 주 소 는 D:eclipsepluginsorg.eclipse.swt.win 32 입 니 다.3.0.0oswin32†。이렇게 실행 할 때마다 설정 하 는 것 이 좀 번 거 로 우 므 로 환경 변수 PATH 에 DLL 을 포함 한 경 로 를 추가 하 는 것 을 권장 합 니 다.프로그램 을 실행 하면 첫 번 째 프로그램의 효 과 를 볼 수 있 습 니 다.)제 느낌 은 아주 좋 습 니 다.속도 가 Swing/AWT 보다 빠 릅 니 다.SWT 를 어떻게 사용 하 는 지 에 대해 서 는 www.eclipse.org 에 있 는 관련 글 을 참고 하여 AWT API 를 많이 보고 코드 를 많이 쓰 세 요!

좋은 웹페이지 즐겨찾기