2014-01-24 3 views
0

Я добавил Label и ListBox в HorizontalPanel в качестве заголовка веб-страницы. Когда я устанавливаю левое поле метки и правый край списка и изменяю размер окна, их позиции меняются. Было бы здорово, если бы кто-нибудь мог помочь мне решить эту проблему.HorizontalPanel in GWT

HorizontalPanel hp = new HorizontalPanel(); 
    Label label = new Label("Test Program"); 
    label.addStyleName("test-label"); 

    ListBox listbox = new ListBox(); 
    listbox.addItem("test1"); 
    listbox.addItem("test2");  
    listbox.addStyleName("test-listbox"); 

    hp.add(title);   
    hp.add(language);   

CSS файл:

.test-label{float:left} 
    .test-listbox{float:right} 
+0

Не ясно, что вы пытаетесь достичь здесь. – outellou

+0

Я слышал, если я использую процент вместо пикселя в поле и меняю размер окна или использую разные браузеры, позиции виджета меняются в зависимости от размера окна. Я использовал процент, но когда я изменяю размер окна, метка и список исчезают. – sylvester

+0

Вместо CSS попробуйте hp.setCellHorizontalAlignment (название, HasHorizontalAlignment.ALIGN_LEFT); и hp.setCellHorizontalAlignment (язык, HasHorizontalAlignment.ALIGN_RIGHT); – outellou

ответ

0

Я попытался установить HorizontalPanel на 100% width вам код. Я попытался добавить поля к элементам, и они отлично работают. Обратите внимание, я подозреваю, что ваше поведение Vanish может быть связано с изгоями дополнений

**hp.add(title);**   
**hp.add(language);** 

Ваши заявления имеют label и listbox и вы добавляете title и language.

Пример кода:

HorizontalPanel hp = new HorizontalPanel(); 
    hp.addStyleName("testWidth"); 
    Label label = new Label("Test Program"); 
    label.addStyleName("test-label"); 

    ListBox listbox = new ListBox(); 
    listbox.addItem("test1"); 
    listbox.addItem("test2"); 
    listbox.addStyleName("test-listbox"); 

    hp.add(label); 
    hp.add(listbox); 

    RootPanel.get().add(hp); 

CSS

.test-label { 
    float: left; 
    margin-left: 10px; 
} 

.test-listbox { 
    float: right; 
    margin-right: 10px; 
} 
.testWidth{ 
    width: 100%; 
}