home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing;
-
- import com.sun.java.accessibility.Accessible;
- import com.sun.java.accessibility.AccessibleContext;
- import com.sun.java.accessibility.AccessibleState;
- import com.sun.java.swing.event.ChangeEvent;
- import com.sun.java.swing.event.ChangeListener;
- import com.sun.java.swing.plaf.TabbedPaneUI;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Rectangle;
- import java.awt.event.MouseEvent;
- import java.io.Serializable;
- import java.util.Vector;
-
- public class JTabbedPane extends JComponent implements Serializable, Accessible, SwingConstants {
- protected int tabPlacement;
- protected SingleSelectionModel model;
- private boolean haveRegistered;
- protected ChangeListener changeListener;
- Vector pages;
- protected transient ChangeEvent changeEvent;
- // $FF: synthetic field
- static Class class$com$sun$java$swing$event$ChangeListener;
-
- public JTabbedPane() {
- this(1);
- }
-
- public JTabbedPane(int var1) {
- this.tabPlacement = 1;
- this.setTabPlacement(var1);
- this.pages = new Vector(1);
- this.setModel(new DefaultSingleSelectionModel());
- this.updateUI();
- }
-
- public TabbedPaneUI getUI() {
- return (TabbedPaneUI)super.ui;
- }
-
- public void setUI(TabbedPaneUI var1) {
- super.setUI(var1);
- }
-
- public void updateUI() {
- int var1 = this.getTabCount();
-
- while(var1-- > 0) {
- Page var2 = (Page)this.pages.elementAt(var1);
- Component var3 = var2.component;
- if (var3.getParent() != this && var3 instanceof Container) {
- var2.needsUIUpdate = true;
- } else {
- var2.needsUIUpdate = false;
- }
- }
-
- this.setUI((TabbedPaneUI)UIManager.getUI(this));
- }
-
- public String getUIClassID() {
- return "TabbedPaneUI";
- }
-
- protected ChangeListener createChangeListener() {
- return new ModelListener(this);
- }
-
- public void addChangeListener(ChangeListener var1) {
- super.listenerList.add(class$com$sun$java$swing$event$ChangeListener != null ? class$com$sun$java$swing$event$ChangeListener : (class$com$sun$java$swing$event$ChangeListener = JComponent.class$("com.sun.java.swing.event.ChangeListener")), var1);
- }
-
- public void removeChangeListener(ChangeListener var1) {
- super.listenerList.remove(class$com$sun$java$swing$event$ChangeListener != null ? class$com$sun$java$swing$event$ChangeListener : (class$com$sun$java$swing$event$ChangeListener = JComponent.class$("com.sun.java.swing.event.ChangeListener")), var1);
- }
-
- protected void fireStateChanged() {
- Object[] var1 = super.listenerList.getListenerList();
-
- for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
- if (var1[var2] == (class$com$sun$java$swing$event$ChangeListener != null ? class$com$sun$java$swing$event$ChangeListener : (class$com$sun$java$swing$event$ChangeListener = JComponent.class$("com.sun.java.swing.event.ChangeListener")))) {
- if (this.changeEvent == null) {
- this.changeEvent = new ChangeEvent(this);
- }
-
- ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
- }
- }
-
- }
-
- public SingleSelectionModel getModel() {
- return this.model;
- }
-
- public void setModel(SingleSelectionModel var1) {
- SingleSelectionModel var2 = this.getModel();
- if (var2 != null) {
- var2.removeChangeListener(this.changeListener);
- this.changeListener = null;
- }
-
- this.model = var1;
- if (var1 != null) {
- this.changeListener = this.createChangeListener();
- var1.addChangeListener(this.changeListener);
- }
-
- ((JComponent)this).firePropertyChange("model", var2, var1);
- }
-
- public int getTabPlacement() {
- return this.tabPlacement;
- }
-
- public void setTabPlacement(int var1) {
- if (var1 != 1 && var1 != 2 && var1 != 3 && var1 != 4) {
- throw new IllegalArgumentException("illegal tab placement: must be TOP, BOTTOM, LEFT, or RIGHT");
- } else {
- if (this.tabPlacement != var1) {
- int var2 = this.tabPlacement;
- this.tabPlacement = var1;
- ((JComponent)this).firePropertyChange("tabPlacement", var2, var1);
- ((Container)this).invalidate();
- }
-
- }
- }
-
- public int getSelectedIndex() {
- return this.model.getSelectedIndex();
- }
-
- public void setSelectedIndex(int var1) {
- int var2 = this.model.getSelectedIndex();
- this.model.setSelectedIndex(var1);
- if (var2 >= 0 && var2 != var1) {
- Page var10000 = (Page)this.pages.elementAt(var2);
- if (super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleState", AccessibleState.SELECTED, (Object)null);
- }
- }
-
- if (var1 >= 0 && var2 != var1) {
- Page var3 = (Page)this.pages.elementAt(var1);
- if (super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleState", (Object)null, AccessibleState.SELECTED);
- }
- }
-
- }
-
- public Component getSelectedComponent() {
- int var1 = this.getSelectedIndex();
- return var1 == -1 ? null : this.getComponentAt(var1);
- }
-
- public void setSelectedComponent(Component var1) {
- int var2 = this.indexOfComponent(var1);
- if (var2 != -1) {
- this.setSelectedIndex(var2);
- } else {
- throw new IllegalArgumentException("component not found in tabbed pane");
- }
- }
-
- public void insertTab(String var1, Icon var2, Component var3, String var4, int var5) {
- ImageIcon var6 = null;
- if (var2 != null && var2 instanceof ImageIcon) {
- var6 = new ImageIcon(GrayFilter.createDisabledImage(((ImageIcon)var2).getImage()));
- }
-
- this.pages.insertElementAt(new Page(this, this, var1 != null ? var1 : "", var2, var6, var3, var4), var5);
- ((Container)this).invalidate();
- if (this.pages.size() == 1) {
- this.setSelectedIndex(0);
- }
-
- if (!this.haveRegistered && var4 != null) {
- ToolTipManager.sharedInstance().registerComponent(this);
- this.haveRegistered = true;
- }
-
- if (super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleVisibleData", (Object)null, var3);
- }
-
- }
-
- public void addTab(String var1, Icon var2, Component var3, String var4) {
- this.insertTab(var1, var2, var3, var4, this.pages.size());
- }
-
- public void addTab(String var1, Icon var2, Component var3) {
- this.insertTab(var1, var2, var3, (String)null, this.pages.size());
- }
-
- public void addTab(String var1, Component var2) {
- this.insertTab(var1, (Icon)null, var2, (String)null, this.pages.size());
- }
-
- public void removeTabAt(int var1) {
- int var2 = this.getTabCount();
- int var3 = this.getSelectedIndex();
- if (var3 >= var2 - 1) {
- this.setSelectedIndex(var3 - 1);
- }
-
- Component var4 = this.getComponentAt(var1);
- if (super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleVisibleData", var4, (Object)null);
- }
-
- this.pages.removeElementAt(var1);
- ((Container)this).invalidate();
- }
-
- public int getTabCount() {
- return this.pages.size();
- }
-
- public int getTabRunCount() {
- return super.ui != null ? ((TabbedPaneUI)super.ui).getTabRunCount(this) : 0;
- }
-
- public String getTitleAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).title;
- }
-
- public Icon getIconAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).icon;
- }
-
- public Icon getDisabledIconAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).disabledIcon;
- }
-
- public Color getBackgroundAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).getBackground();
- }
-
- public Color getForegroundAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).getForeground();
- }
-
- public boolean isEnabledAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).isEnabled();
- }
-
- public Component getComponentAt(int var1) {
- return ((Page)this.pages.elementAt(var1)).component;
- }
-
- public Rectangle getBoundsAt(int var1) {
- return super.ui != null ? ((TabbedPaneUI)super.ui).getTabBounds(this, var1) : null;
- }
-
- public void setTitleAt(int var1, String var2) {
- String var3 = ((Page)this.pages.elementAt(var1)).title;
- ((Page)this.pages.elementAt(var1)).title = var2;
- ((Container)this).invalidate();
- if (var3 != var2 && super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleVisibleData", var3, var2);
- }
-
- }
-
- public void setIconAt(int var1, Icon var2) {
- Icon var3 = ((Page)this.pages.elementAt(var1)).icon;
- ((Page)this.pages.elementAt(var1)).icon = var2;
- ((Container)this).invalidate();
- this.getAccessibleContext();
- if (var3 != var2 && super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleVisibleData", var3, var2);
- }
-
- }
-
- public void setDisabledIconAt(int var1, Icon var2) {
- ((Page)this.pages.elementAt(var1)).disabledIcon = var2;
- if (!this.isEnabledAt(var1)) {
- ((Container)this).invalidate();
- }
-
- }
-
- public void setBackgroundAt(int var1, Color var2) {
- ((Page)this.pages.elementAt(var1)).setBackground(var2);
- ((Component)this).repaint();
- }
-
- public void setForegroundAt(int var1, Color var2) {
- ((Page)this.pages.elementAt(var1)).setForeground(var2);
- ((Component)this).repaint();
- }
-
- public void setEnabledAt(int var1, boolean var2) {
- ((Page)this.pages.elementAt(var1)).setEnabled(var2);
- ((Component)this).repaint();
- }
-
- public void setComponentAt(int var1, Component var2) {
- ((Page)this.pages.elementAt(var1)).component = var2;
- ((Container)this).invalidate();
- }
-
- public int indexOfTab(String var1) {
- for(int var2 = 0; var2 < this.getTabCount(); ++var2) {
- if (this.getTitleAt(var2).equals(var1 == null ? "" : var1)) {
- return var2;
- }
- }
-
- return -1;
- }
-
- public int indexOfTab(Icon var1) {
- for(int var2 = 0; var2 < this.getTabCount(); ++var2) {
- if (this.getIconAt(var2).equals(var1)) {
- return var2;
- }
- }
-
- return -1;
- }
-
- public int indexOfComponent(Component var1) {
- for(int var2 = 0; var2 < this.getTabCount(); ++var2) {
- if (this.getComponentAt(var2).equals(var1)) {
- return var2;
- }
- }
-
- return -1;
- }
-
- public String getToolTipText(MouseEvent var1) {
- if (super.ui != null) {
- int var2 = ((TabbedPaneUI)super.ui).tabForCoordinate(this, var1.getX(), var1.getY());
- if (var2 != -1) {
- return ((Page)this.pages.elementAt(var2)).tip;
- }
- }
-
- return super.getToolTipText(var1);
- }
-
- public AccessibleContext getAccessibleContext() {
- if (super.accessibleContext == null) {
- super.accessibleContext = new AccessibleJTabbedPane(this);
- }
-
- return super.accessibleContext;
- }
- }
-