2011-02-26 4 views
3

단일 구성 요소에 연결되지 않은 사용자 인터페이스의 상태를 나타내는 표준 방법이 있습니까?모델을 사용하여 전체보기 상태 표시

예를 들어, Swing 인터페이스에는 특정 엔티티 유형 당 하나의 탭 만 표시해야한다는 제한 조건의 일련의 탭이있을 수 있습니다 (이것은 HashSet으로 나타낼 수 있음). 또는 메시지가 수행 된 마지막 작업의 결과를 제공 할 수 있습니다. 또는 JPanel은 편집 목적으로 단일 엔티티 인스턴스에 링크 될 수 있습니다.

+0

무슨 뜻인지 잘 모르시겠습니까? – jzd

+0

간단히 말해서,보기가 자신의 모델 일 수 있는지 /해야하는지 궁금합니다. –

답변

2

예, 애플리케이션 모델과 완전히 별개로 뷰 자체에 모델을 생성해도 무방합니다. 스윙은 이미 내부적으로 요소를 배치하는 방법, 테이블의 행과 열 및 텍스트 필드의 커서 위치를 추적합니다.

뷰 모델 논리를 가능한 한 실제 구성 요소 코드와 느슨하게 결합하여 유지 관리하기 쉽게 만드는 것이 좋습니다. 실제 Swing 객체를 확장하지 않는 각 책임 또는 동작에 대해 별도의 클래스를 만듭니다.

예를 들어, 옵션 대화 상자 또는 기본 응용 프로그램 창과 같이 특정 유형의 JFrame 인스턴스가 하나만있는 경우에만이를 수행 할 수있는 싱글 톤 스타일의 클래스로 수행 할 수 있습니다 프레임에 대한 참조이며, 누군가가 메소드를 호출 할 때 반환하고, 존재하지 않으면 생성하고 숨겨진 경우 표시되도록합니다. 이것은 매우 일반적입니다.

3

내가 설명하는 것은 Model-View-ViewModel 패턴이라고 생각합니다. 이것은 닷넷 (dot-net) 지역의 모든 분노입니다. mvvm에 대한 최상위 Google 링크는 MSDN article이며 상당히보기 흉한 개요입니다.