--- /dev/null
+package com.itmill.toolkit.tests;
+
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.CustomComponent;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.TabSheet;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;
+
+public class TestForTabSheet extends CustomComponent implements
+ Button.ClickListener, TabSheet.SelectedTabChangeListener {
+ TabSheet tabsheet = new TabSheet();
+ Button tab1_root = new Button("Push this button");
+ Label tab2_root = new Label("Contents of Second Tab");
+ Label tab3_root = new Label("Contents of Third Tab");
+
+ TestForTabSheet() {
+ setCompositionRoot(tabsheet);
+
+ tabsheet.addListener(this);
+
+ /* Listen for button click events. */
+ tab1_root.addListener(this);
+ tabsheet.addTab(tab1_root, "First Tab", null);
+
+ /* A tab that is initially disabled. */
+ tab2_root.setEnabled(false);
+ tabsheet.addTab(tab2_root, "Second Tab", null);
+
+ /* A tab that is initially disabled. */
+ tab3_root.setEnabled(false);
+ tabsheet.addTab(tab3_root, "Third tab", null);
+ }
+
+ public void buttonClick(ClickEvent event) {
+ System.out.println("tab2=" + tab2_root.isEnabled() + " tab3="
+ + tab3_root.isEnabled());
+ tab2_root.setEnabled(true);
+ tab3_root.setEnabled(true);
+ }
+
+ public void selectedTabChange(SelectedTabChangeEvent event) {
+ /*
+ * Cast to a TabSheet. This isn't really necessary in this example, as
+ * we have only one TabSheet component, but would be useful if there
+ * were multiple TabSheets.
+ */
+ TabSheet source = (TabSheet) event.getSource();
+ if (source == tabsheet) {
+ /* If the first tab was selected. */
+ if (source.getSelectedTab() == tab1_root) {
+ System.out.println("foo");
+ tab2_root.setEnabled(false);
+ tab3_root.setEnabled(false);
+ }
+ }
+ }
+}
\ No newline at end of file