package com.vaadin.tests;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.Label;
import com.vaadin.ui.TabSheet;
import com.vaadin.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.addSelectedTabChangeListener(this);
/* Listen for button click events. */
tab1_root.addClickListener(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);
}
@Override
public void buttonClick(ClickEvent event) {
System.out.println("tab2=" + tab2_root.isEnabled() + " tab3="
+ tab3_root.isEnabled());
tab2_root.setEnabled(true);
tab3_root.setEnabled(true);
}
@Override
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);
}
}
}
}