tabbedPaneView = new ExtTabbedPane(tabbedPane);
List pages = getPages();
for (int i = 0; i < pages.size(); i++) {
final DialogPage page = (DialogPage) pages.get(i);
final Tab tab = new Tab();
JComponent control = page.getControl();
control.setPreferredSize(getLargestPageSize());
tab.setComponent(control);
tab.setVisible(page.isVisible());
tab.setEnabled(page.isEnabled());
decorateTab(tab, page);
page2tab.put(page, tab);
tab2Page.put(tab, page);
tabbedPaneView.addTab(tab);
}
tabbedPane.setModel(new VetoableSingleSelectionModel() {
protected boolean selectionAllowed(int index) {
return canChangeTabs();
}
});
tabbedPaneView.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int index = tabbedPane.getSelectedIndex();
if (index >= 0) {
index = tabbedPaneView.convertUIIndexToModelIndex(index);
Tab tab = tabbedPaneView.getTab(index);
setActivePage((DialogPage) tab2Page.get(tab));
}
else {
setActivePage(null);
}