DockLayoutPanel 내에 위젯을 넣으려고합니다.이 위치는 센터 (가로 또한 세로)에 있어야합니다. uibinder를 사용하지 않습니다. 그것을하는 방법?DockLayoutPanel에서 위젯 가운데 맞추기
답변
DockLayoutPanel을 배치 할 때 "중심"이라는 UIBinder 표기법은 패널에 물리적으로 배치 된 위젯이 아니라 위젯이 사용하지 않는 포함 된 패널의 모든 공간을 차지하는 가운데 위젯을 참조한다는 점에 유의하십시오 양쪽. 나는. 다음 레이아웃에서 위젯 C는 컨테이너의 오른쪽으로 끝까지 흘러가도 "중앙"패널입니다.
<g:DockLayoutPanel>
<g:north><g:Label>A</g:Label></g:north>
<g:west><g:Label>B</g:Label></g:north>
<g:center><g:Label>C</g:Label></g:center>
<g:south><g:Label>D</g:Label></g:south>
</g:DockLayoutPanel>
----------------
| A |
----------------
|B| C |
----------------
| D |
----------------
당신이 패널의 모든 수직 및 수평 공간을 사용하는 것 DockLayoutPanel에 하나의 아이 "센터"위젯을 추가한다면 -이 중심되지 않습니다.
당신은 LayoutPanel를 사용하여 내가 제안 절대 위치 레이아웃 패널 중 하나를 사용하여 물리적 중심을 달성하고자하는 경우
당신이 가정을하지 않는 한 문제는 창 크기를 조정할 수 없습니다되는 것을LayoutPanel panel = new LayoutPanel();
MyWidget myWidget = new MyWidget();
panel.add(myWidget);
// Note that this assumes that both widgets are attached and have meaningful
// sizes - use the RequiresResize interface to get notification of when the
// positioning of myWidget needs change. Note also that if panel or myWidget
// have any decoration that modifies its offsetWidth (margin, border, padding)
// that will need to be taken into account to correctly center myWidget.
int top = panel.getOffsetHeight() - (myWidget.getOffsetHeight()/2);
int left = panel.getOffsetWidth() - (myWidget.getOffsetWidth()/2);
panel.setWidgetTopHeight(myWidget, top, Unit.PX, myWidget.getOffsetHeight(), Unit.PX);
panel.setWidgetLeftWidth(myWidget, left, Unit.PX, myWidget.getOffsetWidth(), Unit.px);
이 아니다 WindowResizeHandler가없는 LayoutPanel에서이 문제를 해결할 수는 있지만 테이블로 쉽게 해결할 수 있습니다.
DockLayoutPanel dockLayoutPanel = new DockLayoutPanel(Unit.EM);
// some code here
Button button = new Button("center");
FlexTable wrapper = new FlexTable();
wrapper.setSize("100%", "100%");
wrapper.setWidget(0, 0, button);
wrapper.getFlexCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE);
wrapper.getFlexCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
dockLayoutPanel.add(wrapper);
절대 위치 기반 LayoutPanels를 사용할 때 RequiresResize 및 ProvidesResize 인터페이스를 사용하는 경우 창 크기 조정을 처리하는 기본 방법이 좋습니다. –
동의했다. 이것은 또한 좋은 해결책이지만, DOM 레이아웃 관리자가 대신 프로그래밍 할 필요가 없다. 어느 방법이 더 효율적인지 알아보기 위해 벤치마킹을 해본 적이 없지만 무시할 만하다고 가정 할 수 있다고 생각합니다. – LINEMAN78
- 1. 레이블 가운데 맞추기
- 2. 플렉스의 가운데 맞추기
- 3. WPF에서 TabControl의 배경 가운데 맞추기
- 4. LabelField를 Blackberry의 HorizontalFieldManager에 가운데 맞추기
- 5. Android : Listing의 항목 가운데 맞추기
- 6. 플렉스에서의 컨텐츠 가운데 맞추기 4
- 7. RelativeLayout에서 ImageButton과 TextView의 가운데 맞추기
- 8. 인라인 블록의 텍스트 가운데 맞추기
- 9. IE 7/조건부 CSS의 텍스트 가운데 맞추기
- 10. Split보기의 UIToolbar에 텍스트 노트 가운데 맞추기
- 11. WPF : 목록 상자, 선택된 항목 가운데 맞추기
- 12. 텍스트 열보다 넓은 표 가운데 맞추기
- 13. CSS 드롭 다운 메뉴 가운데 맞추기
- 14. PowerPoint 2003에서 VBA를 사용하여 셰이프 가운데 맞추기
- 15. gd 및 php에서 텍스트 줄 바꾸기 및 가운데 맞추기
- 16. JTextArea 또는 JTextPane의 텍스트 가운데 맞추기 - 수평 텍스트 정렬
- 17. Raphael js 텍스트 위치 지정 : 원 안에 텍스트 가운데 맞추기
- 18. Flex4, 그룹 컨테이너 내에서 이미지 가운데 맞추기 및 크기 조정
- 19. 크롬에서 작동하지 않는 DIV를 사용하여 여러 이미지 가운데 맞추기
- 20. GWT DockLayoutPanel에서 대화 상자 크기가 너무 작습니까?
- 21. 위젯의 가운데 QGraphicsView
- 22. 다른 문자열에 대해 문자열 중심 맞추기
- 23. 3 열 레이아웃의 가운데 가운데 정렬 요소
- 24. 다른 가운데 가운데 원을 배치하는 방법은 무엇입니까?
- 25. div에서 일부 내용의 가운데 맞추기, 같은 줄에 떠 다니는 내용 - 세로 맞춤 유지
- 26. 센터 표시 태그의 페이지 매김 링크 맞추기
- 27. qt 상태 표시 줄 가운데 맞춤?
- 28. CSS body 배경 내용과 정렬되도록 가운데 정렬
- 29. 입력 센터링 문제 위에 스팬 맞추기
- 30. 위젯
저는 uiBinder를 사용하고 싶지 않습니다. LayoutPanel을 사용해 보겠습니다. – Sunil