Hey at all,
if i add a item, the table will grow at the buttom. The problem occurs with the valo Theme. With the reindeet Theme all is okay.
//@PreserveOnRefresh
//@Theme(ValoTheme.THEME_NAME)
@Theme(Reindeer.THEME_NAME)
public class VaadinMainUI extends UI {
private static final long serialVersionUID = 1L;
final static User user = TaskFactory.eINSTANCE.createUser();
@Override
protected void init(VaadinRequest request) {
getPage().setTitle("Test Vaadin Valo");
Panel panel = new Panel();
panel.setSizeFull();
VerticalLayout verticalLayout = new VerticalLayout();
verticalLayout.setSizeFull();
verticalLayout.setMargin(true);
HorizontalLayout horizontalLayout = new HorizontalLayout();
horizontalLayout.setSizeFull();
horizontalLayout.setMargin(true);
horizontalLayout.setSpacing(true);
VerticalLayout verticalLayout1 = new VerticalLayout(renderControl());
verticalLayout1.setSizeFull();
horizontalLayout.addComponent(verticalLayout1);
verticalLayout.addComponent(horizontalLayout);
panel.setContent(verticalLayout);
setContent(panel);
setResizeLazy(true);
setPollInterval(1000);
}
@Override
protected void refresh(VaadinRequest request) {
}
protected Component renderControl() {
VerticalLayout layout = new VerticalLayout();
final Table table = new Table();
table.setSelectable(true);
table.setSizeFull();
table.setPageLength(10);
table.setCaption("Test");
BeanItemContainer<Object> indexedContainer = new BeanItemContainer(Bean.class);
setVisibleColumns(table, indexedContainer);
HorizontalLayout horizontalLayout = new HorizontalLayout();
Button add = new Button("Add");
add.addClickListener(new Button.ClickListener() {
int count = 1;
@Override
public void buttonClick(ClickEvent event) {
Bean bean = new Bean("Mung bean" + this.count, 1452.0);
bean.setName1("" + this.count);
bean.setName2("test");
indexedContainer.addBean(bean);
}
});
horizontalLayout.addComponent(add);
layout.addComponent(horizontalLayout);
layout.setComponentAlignment(horizontalLayout, Alignment.TOP_RIGHT);
layout.addComponent(table);
return layout;
}
private void setVisibleColumns(final Table table, BeanItemContainer<Object> indexedContainer) {
table.setContainerDataSource(indexedContainer);
table.setVisibleColumns("name1", "name2");
}
}
[/code][code]
import java.io.Serializable;
public class Bean implements Serializable {
String name;
double energy; // Energy content in kJ/100g
String name1;
String name2;
public Bean(String name, double energy) {
this.name = name;
this.energy = energy;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public double getEnergy() {
return this.energy;
}
public void setEnergy(double energy) {
this.energy = energy;
}
public void setName1(String name1) {
this.name1 = name1;
}
public void setName2(String name2) {
this.name2 = name2;
}
public String getName1() {
return this.name1;
}
public String getName2() {
return this.name2;
}
}