u
교체
가능한 외관(look
& feel)
look & feel이 동작도중에 동적으로 교체가 가능하다. 자바의 확실한 멀티플랫폼 지원의 일부
현재 Window,
java, Motif 세가지
외관이 지원된다.
u
MVC(Model View Controller) 모델
MVC
구조는
Alan
Kay라는
사람이 만든 객체 지향 언어인 Smalltalk-80
version에서
소개
컴포넌트 디자인 모델의 하나로 각각의 컴포넌트를 Model,
View, Controler로
구분하여 추상화
① 모델(Model)
: 프로그램의
상태에 대한 논리적인 데이터를 표현한다.
또한
모델의 데이터가
변경되었을 경우 이를 뷰
객체에게 알려주는 역할을 하는 객체이다.
② 뷰(View)
: 모델에
의해서 표현된 데이터에 대한 시각적인 화면 출력을 관리하는 객체이다.
뷰는
응답 메커니즘을 기술하기 위하여 콘트롤러를
이용한다.
즉,
콘트롤러의
입력에 응답하여
그 결과를 화면으로 출력해 준다.
③ 콘트롤러(Controller)
: 모델에
의해서 표현된 데이터를 사용자가 변경할 수 있도록 사용자
상호작용(User
Interaction)을
제공하는 객체이다.
JFC의
Swing에서의
MVC의
구조는 상태부분(Model)과
표현부분(View+Controller=UI)으로
구분함으로써 다음과 같은 특징을 갖는다.
-같은
모델을 가지고 쉽게 동시에 여러 개의 뷰를
만들 수 있다.
-모델에는
표현부분이 없기 때문에 모델의 영향을 주지 않고 필요에 따라 뷰를
자유롭게 수정할 수 있다.
u
Swing 일반적인
MVC
구조에서
공통적으로 약간 변형시킨 형태로 컴포넌트를 표현한다.
즉,
뷰와
콘트롤러를
하나로 묶어서 델리게이트라는
커다란 컴포넌트를 형성,모델은
바꾸지 않고 프로그램 실행 중간에 Delegate(view+Controller)를
통해 Java
Look&feel을
윈도우 look&feel로
바꿀 수가 있는것이다.
u
경량
컴포넌트(lightweight
Component) : 시스템의
Native
Component와
연계되지않은 컴포넌트,
반대로
AWT의
모든 컴포넌트는 Peer라는것을
통하여 시스템의 Native
Component와
연계되어 있다.
Native Component를
사용하지 않으므로 자원을 적게 소모하며 플랫폼에 독립적인 컴포넌트를 만들수
있다.
스윙
컴포넌트는 경량 컴포넌트라 말할 수 있습니다.
그렇다고
스윙 컴포넌트가 모두 경량 컴포넌트라는 말은 아닙니다.
경량
컴포넌트는 완전히 Java
만으로
작성되어야 하고,
사용자가
임의로 룩앤필을
바꿀 수 있는 것이라야 합니다. 중량
컴포넌트란 그 플랫폼이 제공하는 컴포넌트로 사용자가 변화를 모색할 수 없는 매우 경직된 컴포넌트,
AWT 컴포넌트는
중량형
컴포넌트이다.
u스윙은
모든 플랫폼에서 동일한 외형을 갖고,
동일한
작동을 하며,
최대한
유연성을 갖는 완전히 Java
만으로
작성된 "경량형lightweight"
컴포넌트를
제공한다는 목적으로 시작됨.
댓글 없음:
댓글 쓰기