I am still new to Java and Vaadin , and I am having a hard time trying to figure out how to resolve a null point exception when I try to populate the tabsheet with a component. Where am I screwing at? I know the issue is with my ObjList being null...but I am not sure how to resolve that. Please see below code:
Main Class:
public class Main extends Application {
private ObjList objList = null;
private ObjContainer dataSource = ObjContainer.createData();
private TabWindow tabWindow = new TabWindow(objList);
public void init() {
buildmainlayout();
}
private void buildmainlayout() {
setMainWindow(new Window("Test"));
VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
layout.addComponent(tabWindow);
getMainWindow().setConent(layout);
}
private TabWindow getTabWindow() {
if(tabwindow == null) {
objList = new ObjList(this);
tabWindow = new TabWindow(objList);
}
return tabWindow;
}
public ObjContainer getDataSource() {
return dataSource;
}
}
ObjList Class:
public class ObjList extends Table {
public ObjList (Main app) {
setSelectable(true);
setImmediate(true);
setContainerDataSource(app.getDataSource());
setColumnHeaders(ObjContainer.COL_HEADERS_ENGLISH);
setVisibleColumnsw(ObjContainer.NATURAL_COL_ORDER);
}
}
TabWindow Class:
public class TabWindow extends TabSheet implements TabSheet.SelectedTabChangeListener {
private TabSheet t;
public TabWindow(ObjList objList) {
VerticalLayout l1 = new VerticalLayout();
l1.setMargin(true);
l1.addCOmponent(new Label("A"));
t= new TabSheet();
final Tab a = t.addTab(l1, "A", null));
addComponent(t);
}
public void selectedTabChange(SelectedTabChangeEvent event){
TabSheet tabsheet = event.getTabSheet();
Tab tab = tabsheet.getTab(tabsheet.getSelectedTab());
if (tab != null) {
getWindow().showNotification("Selected tab" + tab.getCaption());
}
}
}
Thanks!