2016-06-23 5 views
0

나는 이클립스 작업 공간과 같은 메뉴를 다룰 것이다. 기본적으로 페이지가 3 개의 섹션 (열)으로 나뉩니다. - LHS, MDDL & RHS 섹션입니다. 이 세 섹션은 모두 크기 조정이 가능하며 은 최소화/최대화 할 수 있습니다. 각 섹션에는 사용자가 속한 메뉴 항목에 따라 이라는 자체 구성 요소가 있습니다.Vaadin 메뉴 디자인 - 상단의 구성 요소는 무엇입니까?

다른 한 가지는 이벤트가이 3 개의 섹션 중 2 개의 다른 구성 요소 사이에서 으로 /에서 /로 전달/전달된다는 것입니다. 예 : 사용자가 LHS 섹션의 아코디언 (또는 트리 또는 탭)을 클릭하면 MDDL 섹션에 이벤트가 발생합니다.

바아 딘은 루트에있는 구성 요소 인 계층 적으로 UI 구성 요소를 관리하고 있으며 각 비 루트 구성 요소는 그 자체로 또는 다른 여러 "형제"구성 요소와 함께 하나의 다른 구성 요소에 포함되어 있습니다. 이보기에서

에서 내가 지금까지 뭘 찾았는지, 여기에 내가 좌, MDDL & 우를 디자인 할 수있는 방법은 다음과 같습니다

1) 레이아웃 (VerticalLayout 또는 HorizontalLayout, 또는 어쩌면 FormLayout (?)) 또는 루트에 Panel, 3 개의 구성 요소가 포함 된 3 개의 구성 요소 (세 구성 요소가 무엇이든간에)

2.) 루트에 HorizontalSplitPanel. 이 HorizontalSplitPanel의 오른쪽 패널에서 다른 HorizontalSplitPanel을 찾고 있습니다. 3 부

4) 3 개의 Window -s 이루는 각각의 패널

3)는 3 열 GridLayout.

내 용도로 가장 적합한 옵션을 선택해주세요 (복수 선택 가능).

또한 - 내가 간직해야하는 디자인 섹션 (이벤트 리스너 및 섹션 간의 대응 동작)도 고려하십시오. 코드를 분리하려고합니다. 3 개의 섹션은 각각 고유 한 스타일을 갖습니다 (LHS : 옵션, MDDL : 데이터 항목, RHS : 제어).

다른 행 - 정확히 PanelLayout의 차이점은 무엇입니까? Vaadin book의 그림 6.1은 Layout의 자손이 더 정교하다는 것을 의미합니다 - 어떤면에서?

저는 FE에 익숙하지 않은 백엔드 개발자입니다. 변칙적 인 질문 인 경우 변명하십시오.

TIA.

답변

0

Panel은 단일 구성 요소 컨테이너이며 일반적으로 레이아웃에는 두 개 이상의 하위 구성 요소가 있습니다. 차이점은 다음과 같습니다. 패널에서 내부 구성 요소에 캡션과 테두리를 제공하고 HorizontalLayout과 같은 레이아웃은 정의 된 방식으로 구성 요소를 배치합니다. 가로로 서로 옆에.

귀하의 옵션 2는 나에게 합리적인 것 같습니다. split panels만이 상자 밖으로 draggable 구분 기호를 제공합니다.

이벤트 처리 : CustomComponent에서 파생 된 각 섹션에 대해 하나의 클래스를 만드는 것이 좋습니다. 그런 다음이 클래스에서 Vaadin과 유사한 새 이벤트/리스너를 구현합니다. 3 개의 섹션을 만든 후에는 각 섹션에서 필요에 따라 다른 섹션에 리스너를 추가해야합니다.