2010-01-28 3 views
1

패널의 가운데에 일부 버튼을 배치하고 싶지만 작동하지 않습니다.가로 맞춤 문제

import com.extjs.gxt.ui.client.widget.HorizontalPanel; 
import com.extjs.gxt.ui.client.widget.Label; 
import com.extjs.gxt.ui.client.widget.LayoutContainer; 
import com.extjs.gxt.ui.client.widget.VerticalPanel; 
import com.extjs.gxt.ui.client.widget.button.Button; 
import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.user.client.ui.HasAlignment; 
import com.google.gwt.user.client.ui.RootPanel; 

private void addStartupBox() { 
    VerticalPanel boxPanel = setBoxSize();  
    com.google.gwt.user.client.ui.Label title = createBoxTitle("Prüfungen");   

    // Create second panel for the content of a box  
    com.google.gwt.user.client.ui.VerticalPanel boxContent = new com.google.gwt.user.client.ui.VerticalPanel(); 
    boxContent.setSpacing(10); 
    boxContent.setHorizontalAlignment(com.google.gwt.user.client.ui.VerticalPanel.ALIGN_CENTER); 

    // Create content for the box 
    Button but1 = new Button("A"); 
    but1.setPixelSize(280, 25);  

    Button but2 = new Button("B"); 
    but2.setPixelSize(280, 25); 

    Button but3 = new Button("C"); 
    but3.setPixelSize(280, 25); 

    // Add buttons to boxContent 
    boxContent.add(but1); 
    boxContent.add(but2); 
    boxContent.add(but3); 

    // Add title and boxContent to boxPanel  
    boxPanel.add(title); 
    boxPanel.add(boxContent); 

    RootPanel.get("boxPanelContainer").add(boxPanel); 
} 

결과는 다음과 같습니다 : 내 코드 여기

here http://tinyurl.com/ycs2q4o

과 버튼은 왼쪽 정렬된다. 그 후에 나는 이렇게했습니다 :

boxContent.setHorizontalAlignment(HasAlignment.ALIGN_CENTER); 

그러나 버튼은 여전히 ​​왼쪽 정렬됩니다. 내 마지막 생각은 ExtGWT 수직 패널을 다음과 같이 사용하는 것입니다 :

boxContent.setHorizontalAlign(HorizontalAlignment.CENTER); 

그러나 불행히도 작동하지 않습니다. 누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?

답변

3

문제가 해결되었습니다 .... 나는 왼쪽으로 정렬 된 다른 패널을 추가했습니다. 여기에 코드 :

private void addStartupBox() { 
    VerticalPanel boxPanel = setBoxSize();  
    com.google.gwt.user.client.ui.Label title = createBoxTitle("Prüfungen");   
    boxPanel.setHorizontalAlign(HorizontalAlignment.CENTER); 

    // Create second panel for the content of a box  
    com.google.gwt.user.client.ui.VerticalPanel boxContent = new com.google.gwt.user.client.ui.VerticalPanel(); 
    boxContent.setSpacing(10); 

    // Create third panel, which contains the label 
    VerticalPanel labelPanel = new VerticalPanel(); 
    labelPanel.setHorizontalAlign(HorizontalAlignment.LEFT);   

    // Create content for the box 
    Button but1 = new Button("A"); 
    but1.setPixelSize(280, 25);  

    Button but2 = new Button("B"); 
    but2.setPixelSize(280, 25); 

    Button but3 = new Button("C"); 
    but3.setPixelSize(280, 25); 

    // Add buttons to boxContent 
    boxContent.add(but1); 
    boxContent.add(but2); 
    boxContent.add(but3); 

    // Add title to third panel 
    labelPanel.add(title);  

    // Add title and boxContent to boxPanel 
    boxPanel.add(labelPanel); 
    boxPanel.add(boxContent); 

    RootPanel.get("boxPanelContainer").add(boxPanel); 
} 
2

")은 (boxPanel)를 추가합니다.;"다음 코드를 추가하고 버튼을 "의 RootPanel.get ("boxPanelContainer 전에 상자의 컨텐츠 (추가 한 후 코드 위

boxContent.setCellHorizontalAlignment(but1, HasHorizontalAlignment.ALIGN_CENTER); 
boxContent.setCellHorizontalAlignment(but2, HasHorizontalAlignment.ALIGN_CENTER); 
boxContent.setCellHorizontalAlignment(but3, HasHorizontalAlignment.ALIGN_CENTER); 

를 추가해야하는 노력이 줄을).

+0

이 작동하지 않습니다 :( – cupakob

+0

이것은 GWT이지 gxt가 아닙니다. – MyTitle