자바에서 사용할 수 있는 GUI 툴킷(Toolkit)
카테고리 없음
2011. 2. 8. 14:55
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
자바에는 AWT, Swing 과 SWT라는 GUI 툴킷이 존재한다. 다양한 종류가 있는 만큼 각 툴킷의 장단점이 존재한다.
1. AWT (Abstract Windows Toolkit)
Java에서 기본적으로 지원하는 GUI 툴킷이다. AWT는 모든 자바 버전에서 제공하는 표준으로 가장 안정적이다 그리고 AWT를 사용하기 위한 별도의 설치 없이도 자바 런타임 환경이 있는 곳 어디에서나 사용할 수 있다.
반면에 제한된 GUI 컴포넌트, 레이아웃, 이벤트를 가진 매우 단순한 툴킷이다. 그래서 더 많은 컴포넌트가 필요하다면 처음부터 구현해야 한다는 문제가 있다.
AWT 컴포넌트는 "쓰레드 보안"이 되어있다. 따라서 애플리케이션에서 어떤 쓰레드가 GUI를 업데이트 하는지 신경 쓰지 않아도 된다. 이로써 GUI 업데이트 문제가 없어진다. 하지만 AWT GUI는 느리게 실행된다.
2. Swing
AWT의 단점을 보완하기 위해서 만든 툴킷이다. Swibg은 매우 유연하고 강력한 GUI 툴킷이지만, 복잡한 구조로 사용하기 위해서 많은 학습이 필요하다. Swing은 AWT를 기반으로 구현된다. 모든 Swing들의 부분은 AWT의 일부이기도 한다. Swingd은 AWT의 이벤트를 사용하며 Colors, Images, Graphics와 같은 클래스를 지원한다.
Swing은 하드웨어 GUI 가속장치와 특별한 호스트 GUI 연산을 활용하지 못할 수도 있다. 따라서 Swing 애플리케이션은 원시 GUI 보다 느리다. AWT와는 달리 Swing 컴포넌트는 쓰레드 보안이 되지 않는다. 어떤 쓰레드가 GUI 업데이트 하는지를 신경 써야 한다. 쓰레드 사용을 잘못 할 경우 사용자 인터페이스 고장 같은 예외상황이 발생한다.
3. SWT
SWT는 저수준 GUI 툴킷이다. JFace라는 향상된 컴포넌트와 유틸리티 서비스 세트로 SWT 구현이 쉽다. SWT는 AWT와 Swing의 단점을 제거하고 장점만을 가진 시스템을 구현하였다.