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