package com.vaadin.tests.components.tabsheet; import com.vaadin.tests.components.AbstractTestCase; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.Label; import com.vaadin.ui.LegacyWindow; import com.vaadin.ui.TabSheet; import com.vaadin.ui.TabSheet.Tab; import com.vaadin.ui.VerticalLayout; public class TabsheetNPE extends AbstractTestCase implements ClickListener { @Override protected String getDescription() { return "Enable and activate tab should enable and activate the first tab."; } @Override protected Integer getTicketNumber() { return 3292; } private static final int TABS_COUNT = 3; private TabSheet tabSheet; private Label[] label = new Label[TABS_COUNT]; private Tab[] tab = new Tab[TABS_COUNT]; @Override public void init() { setMainWindow(new LegacyWindow("TabSheet Demo", createMainLayout())); } private VerticalLayout createMainLayout() { VerticalLayout layout = new VerticalLayout(); tabSheet = new TabSheet(); for (int i = 1; i <= TABS_COUNT; i++) { label[i - 1] = new Label("Tab " + i); tab[i - 1] = tabSheet.addTab(label[i - 1], "Tab " + i, null); tab[i - 1].setEnabled(false); } layout.addComponent(tabSheet); Button btn = new Button("Enable and activate tab"); btn.addClickListener(this); layout.addComponent(btn); return layout; } @Override public void buttonClick(ClickEvent event) { for (int i = 0; i < TABS_COUNT; i++) { tab[i].setEnabled(true); } tabSheet.setSelectedTab(label[0]); } }