2013년 10월 24일 목요일

[JAVA SWING강좌]자바 스윙 Component와 AWT Component의 차이점

[JAVA SWING강좌]자바 스윙 Component와 AWT Component의 차이점


u 스윙 컴포넌트는 J로 시작한다.(Button, JButtion)
u AWT컴포넌트는 java.awt 패키지안에, Swing 컴포넌트는 javax.swing 패키지 내에 존재
u 모든 스윙 컴포넌트는 javax.swing.Jcomponent를 상속한다.
u 스윙 컴포넌트는 특정 플랫폼에 의존적인 코드가 전혀 포함되지 않고 구현됨 즉, 그들이 수행될 때 플랫폼으로부터 어떠한 native code도 가져다 쓰지 않는다
u 스윙의 버튼은 텍스트뿐만 아니라 이미지도 표시 할 수 있다.
u 스윙 컴포넌트는 직사각형 이외의 모양도 가능하다.(둥근버튼)
u 프로그램 내에서 스윙컴포넌트와 중량(heavy weight) 컴포넌트를 사용하면 안된다. 즉시 사용가능한 AWT 컴포넌트나 AWT Canvas, Panel을 상속한 클래스는 중량컴포넌트이다. 경량과 중량이 곁쳐지는 경우에는 경량컴포넌트가 가려지기 때문이다.
u JFrame와 같은 최상위 컨테이너에 직접 컴포넌트를 추가하지 않는다. 그대신 Jframe에 포함된 다른 컨테이너에 컴포넌트를 추가한다.
u 스윙에서는 Border그맇수 있다. AWTPeer를 거치므로 모양에 관여할수 없었지만, 스윙은 직접 그리는것을 담당하므로 Border를 쉽게 그릴수 있다.
u 컴포넌트의 최대/최소 크기와 가장 적절한 크기를 지정 할 수 있다. AWT에서는 Peer에 의해 제어되므로 마음대로 크기를 제어하기가 어려움
u ToolTip을 만들기가 쉽다.(JcomponentToolTip에 대한 메소드가 존재)
u 투명한 Component가 가능(setOpaque() 이용하여 설정가능)
u Jframe은 윈도우 이벤트 핸들링을 하지 않아도 윈도우를 종료할수가 있다. 이는 내부적으로 이벤트 핸들링 코드가 존재하기 때문인데 프로그래머가 바꿀수 있도록 설정이 가능하다. setDefaultCloseOperation(int) 이라는 메소드를 이용한다. 파마미터로 java.swing.WindowConstantsDO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE 값을 이용할수 있으며 DISPOSE_ON_CLOSE가 기본값이다.

댓글 없음:

댓글 쓰기