2010-06-07 6 views
3

question sur les panneaux de quai dans les GWTquestion sur GWT et DockPanel, le dimensionnement et le redimensionnement

donc je veux le DockPanel de prendre la taille entière de la fenêtre du navigateur

 dockPanel.setSize("100%", "100%"); 

si ce correct

Question suivante, Je vais ajouter un panneau nord, qui sera 100px haute et occupera toute la largeur du navigateur

topPanel.setSize("100%", "100px"); 
    dockPanel.add(topPanel, DockPanel.NORTH); 

est-ce correct, alors je veux ajouter un panneau ouest qui est 200px de large et sur toute la longueur du navigateur jusqu'à juste sous le panneau nord westSideStackPanel.setSize (« 200px », « 100% ») mainPanel .add (westSideStackPanel, DockPanel.WEST);

J'ai créé tout cela mais quand je regarde mon dockpanel il y a un grand écart entre le panneau ouest et le panneau nord tout le long de l'écran. pourquoi cela serait-il?

Le panneau nord reste à 100px, puis il y a un écart d'environ 100px sur toute la largeur de l'écran.

alt text

+0

Pouvez-vous inclure une capture d'écran de ce que vous voyez ou de ce que vous aimeriez voir? C'est un peu difficile de comprendre ce qui se passe dans votre description. –

+0

mis à jour et placé la capture d'écran, comme vous pouvez le voir, à partir du panneau de la pile à la partie nord orange, est un écart – molleman

Répondre

3

Essayez d'utiliser RootLayoutPanel comme le panneau de base (ce qui redimensionne la fenêtre du navigateur) puis utilisez un DockLayoutPanel (v semblable à un DockPanel). Cette approche est documentée here.

public void onModuleLoad() { 
    RootLayoutPanel rp = RootLayoutPanel.get(); 
    DockLayoutPanel dp = new DockLayoutPanel(Unit.PX); 
    rp.add(dp); 
    ... 
} 
+0

Oui, il est obligatoire que vous utilisez RootLayoutPanel. Malheureusement, ce n'est pas son problème ici, puisque l'utilisation de RootPanel ferait que tout soit loin de ce qu'il veut. Cela m'était arrivé une fois (en oubliant le RootLayoutPanel) et tous mes widgets étaient collés au sommet. – Zwik

0

J'ai connu une sorte de problème similaire avec DockLayoutPanel dans le passé et ma solution pour vous serait: passer à LayoutPanel. LayoutPanel peut faire tout ce qu'un DockLayoutPanel peut faire mais vous donne plus de flexibilité. À la fin, vous ne gagnerez qu'en utilisant LayoutPanel.

0

Avez-vous essayé

dockPanel.setCellHeight(topPanel, "100px"); 
dockPanel.setCellHeight(westSideStackPanel, "100%"); 

Je n'ai pas beaucoup d'expérience avec l'ancien DockPanel, mais je suppose, cela pourrait fonctionner, car il doit régler la hauteur des cellules - par opposition à la hauteur de les widgets à l'intérieur des cellules.

Dans tous les cas, c'est probablement une bonne idée d'utiliser Firebug pour savoir exactement d'où vient l'écart!