FlowPanel
은 html '< div>'로 렌더링되므로 추가 된 항목은 기본 표시에 따라 배치됩니다. 인스턴스 어린이를위한
는 다음과 같이 렌더링 위젯에 '< DIV>'Label
이 기본 동작은 블록으로하기 때문에 수직으로 위치 할 것이다, 그러나 당신이 TextBox
를 추가하는 경우가 그 기본에 '< 입력>'로 렌더링 될 것 같은 디스플레이가 인라인 블록입니다.
그래서 FlowPanel
어린이를 처리 할 수있는 방법은 float
속성 또는 flexbox 같은 다른 CSS를 팅겨와 함께 연주, 각각의 아이들을 위해 적절하게 재산 display
을 설정하는 것입니다. 일반적으로 gwt 디자이너는 UI 바인더 템플릿에서이 설정 스타일을 수행합니다. 당신이 코드에 의해 수행하려는 경우 그러나 당신은이 작업을 수행 할 수 있습니다
// Example of a flow panel with all elements disposed in vertical
FlowPanel verticalFlowPanel = new FlowPanel();
TextBox textBox = new TextBox();
Label label = new Label("Foo");
textBox.getElement().getStyle().setDisplay(Display.BLOCK);
verticalFlowPanel.add(textBox);
verticalFlowPanel.add(label);
RootPanel.get().add(verticalFlowPanel);
// Example of a flow panel with all elements disposed in horizontal
FlowPanel horizontalFlowPanel = new FlowPanel();
TextBox textBox2 = new TextBox();
Label label2 = new Label("Foo");
label2.getElement().getStyle().setDisplay(Display.INLINE_BLOCK);
horizontalFlowPanel.add(textBox2);
horizontalFlowPanel.add(label2);
RootPanel.get().add(horizontalFlowPanel);
Label과 같은 위젯 유형의 모든 자식 r이 가로로 흐를 경우. 1 위젯이 레이블이고 기타가 텍스트 상자이면 세로로 흐르게됩니다. 어떤 사람이든 해결책을 찾았습니다 – Tum
@Minh Hai, 그건 사실이 아니며, 위젯의 성격에 달려 있습니다. 모든 위젯이 레이블 인 경우 스타일을 다른 것으로 설정하지 않으면 항상 위젯이 수직으로 흐릅니다. –
Thax 당신을 위해,하지만 대답은 사실 FlowPanel VerticalPanel 또는 HorizontalPanel보다 많이 fater 실행 사실입니까? VP & HP는
그런 다음이 확인 될 것입니다 어린이를위한
display:block;
사용. VerticalPanel을 FlowPanel로 변환 한 후 내 앱이 훨씬 빠르게 실행되는 것을 발견했습니다.출처
2013-10-09 07:04:55 Tum
관련 문제