2011-09-07 2 views
3

저는 GWT를 처음 사용하고있어서 첫 번째 웹 페이지를 통해 고심하고 있습니다.SplitLayoutPanel을 사용할 때 GWT 위젯이 표시되지 않습니다.

나는 2 개의 복합 위젯 (ListWidgetMaintenanceWidget)을 만들었습니다. FlowPanel에 둘 다 추가하면 둘 다 표시됩니다. 그러나 내가 사용하는 방법에 따라 SplitLayoutPanel을 사용하려고하면 아무 것도 표시되지 않거나 그 중 하나만 표시됩니다.

아래는 내 코드입니다 : 내 진입 포인트는 onModuleLoad() 메소드에

public MainPanel(){ 
    list = new ListWidget(); 
    maintenance = new MaintenanceWidget(); 
    panel = new SplitLayoutPanel(); 

    panel.addWest(list, 200); 
    panel.addNorth(maintenance, 250); 


    initWidget(panel); 
} 

, 나는 MainPanel의 인스턴스를 생성하고 루트 창에 추가합니다.

이 코드를 사용하면 목록이 있어야 할 곳의 서쪽에 공백이 생기고 맨 위에 수평 분할자가있는 유지 관리 위젯이 생깁니다.

나는 panel.add****() 메서드의 다른 구성을 시도했지만 나에게 내가 원하는 결과를 얻지 못했습니다.

아이디어가 있으십니까? 감사!

+0

어떤 위젯이 해당 클래스를 수신합니까? – elvispt

답변

1

이전에 보지 못했던 방법을 사용하는 일부 샘플 코드 here을 발견했습니다.

public MainPanel(){ 
    list = new ListWidget(); 
    maintenance = new MaintenanceWidget(); 
    panel = new SplitLayoutPanel(); 

    panel.setPixelSize(500, 400); 

    panel.addWest(list, 200); 
    panel.add(maintenance);  
    initWidget(panel); 
} 

을 그리고 지금은 작동 다음과 같이

내 코드는 지금 읽습니다. 당신의 도움을 주셔서 감사합니다!

+0

자세한 내용을 추가하려면 질문에 대답해서는 안됩니다. 질문을 편집하십시오. – elvispt

+0

나는 이것이 대답 일 것을 의미했다. 이제는 내 코드가 작동한다. 그것을 반영하기 위해 편집 됨. – chama

1

SplitLayoutPanel은 브라우저가 표준 모드에서 작동해야하므로 HTML 템플릿에 doctype 선언이 있어야합니다 (예 : <!doctype html>).

+0

나는 가지고있다. 그래도 고마워. – chama

0

실수가 아니라면 SpliLayoutPanel이 문서 본문에 첨부되어야합니다. 같은 시도 :

public void onModuleLoad() { 
    SplitLayoutPanel panel = new SplitLayoutPanel(); 

    panel.addWest(new Label("WEST"), 50); 
    panel.addNorth(new Label("NORTH"), 50); 
    panel.addEast(new Label("EAST"), 50); 
    panel.addSouth(new Label("SOUTH"), 50); 
    panel.add(new Label("CONTENT HERECONTENT HERECONTENT HERECONTENT HERECONTENT HERECONTENT HERE")); 

    RootLayoutPanel.get().add(panel); //This gets the body element and attaches itself to it, then adds panel. 
} 

이 코드에 적용하기에는 너무 어렵지 않을해야합니다.

관련 문제