home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / JSlider.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  9.0 KB  |  436 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.beans.PropertyChangeListener;
  5. import java.io.IOException;
  6. import java.io.ObjectOutputStream;
  7. import java.util.Dictionary;
  8. import java.util.Enumeration;
  9. import java.util.Hashtable;
  10. import javax.accessibility.Accessible;
  11. import javax.accessibility.AccessibleContext;
  12. import javax.accessibility.AccessibleState;
  13. import javax.swing.event.ChangeEvent;
  14. import javax.swing.event.ChangeListener;
  15. import javax.swing.plaf.SliderUI;
  16.  
  17. public class JSlider extends JComponent implements SwingConstants, Accessible {
  18.    private static final String uiClassID = "SliderUI";
  19.    private boolean paintTicks;
  20.    private boolean paintTrack;
  21.    private boolean paintLabels;
  22.    private boolean isInverted;
  23.    protected BoundedRangeModel sliderModel;
  24.    protected int majorTickSpacing;
  25.    protected int minorTickSpacing;
  26.    protected boolean snapToTicks;
  27.    boolean snapToValue;
  28.    protected int orientation;
  29.    private Dictionary labelTable;
  30.    protected ChangeListener changeListener;
  31.    protected transient ChangeEvent changeEvent;
  32.    // $FF: synthetic field
  33.    static Class class$javax$swing$event$ChangeListener;
  34.  
  35.    private void checkOrientation(int var1) {
  36.       switch (var1) {
  37.          case 0:
  38.          case 1:
  39.             return;
  40.          default:
  41.             throw new IllegalArgumentException("orientation must be one of: VERTICAL, HORIZONTAL");
  42.       }
  43.    }
  44.  
  45.    public JSlider() {
  46.       this(0, 0, 100, 50);
  47.    }
  48.  
  49.    public JSlider(int var1) {
  50.       this(var1, 0, 100, 50);
  51.    }
  52.  
  53.    public JSlider(int var1, int var2) {
  54.       this(0, var1, var2, 50);
  55.    }
  56.  
  57.    public JSlider(int var1, int var2, int var3) {
  58.       this(0, var1, var2, var3);
  59.    }
  60.  
  61.    public JSlider(int var1, int var2, int var3, int var4) {
  62.       this.paintTicks = false;
  63.       this.paintTrack = true;
  64.       this.paintLabels = false;
  65.       this.isInverted = false;
  66.       this.snapToTicks = false;
  67.       this.snapToValue = true;
  68.       this.changeListener = this.createChangeListener();
  69.       this.changeEvent = null;
  70.       this.checkOrientation(var1);
  71.       this.orientation = var1;
  72.       this.sliderModel = new DefaultBoundedRangeModel(var4, 0, var2, var3);
  73.       this.sliderModel.addChangeListener(this.changeListener);
  74.       this.updateUI();
  75.    }
  76.  
  77.    public JSlider(BoundedRangeModel var1) {
  78.       this.paintTicks = false;
  79.       this.paintTrack = true;
  80.       this.paintLabels = false;
  81.       this.isInverted = false;
  82.       this.snapToTicks = false;
  83.       this.snapToValue = true;
  84.       this.changeListener = this.createChangeListener();
  85.       this.changeEvent = null;
  86.       this.orientation = 0;
  87.       this.setModel(var1);
  88.       this.sliderModel.addChangeListener(this.changeListener);
  89.       this.updateUI();
  90.    }
  91.  
  92.    public SliderUI getUI() {
  93.       return (SliderUI)super.ui;
  94.    }
  95.  
  96.    public void setUI(SliderUI var1) {
  97.       super.setUI(var1);
  98.    }
  99.  
  100.    public void updateUI() {
  101.       this.updateLabelUIs();
  102.       this.setUI((SliderUI)UIManager.getUI(this));
  103.    }
  104.  
  105.    public String getUIClassID() {
  106.       return "SliderUI";
  107.    }
  108.  
  109.    protected ChangeListener createChangeListener() {
  110.       return new ModelListener(this, (1)null);
  111.    }
  112.  
  113.    public void addChangeListener(ChangeListener var1) {
  114.       super.listenerList.add(class$javax$swing$event$ChangeListener == null ? (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")) : class$javax$swing$event$ChangeListener, var1);
  115.    }
  116.  
  117.    public void removeChangeListener(ChangeListener var1) {
  118.       super.listenerList.remove(class$javax$swing$event$ChangeListener == null ? (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")) : class$javax$swing$event$ChangeListener, var1);
  119.    }
  120.  
  121.    protected void fireStateChanged() {
  122.       Object[] var1 = super.listenerList.getListenerList();
  123.  
  124.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  125.          if (var1[var2] == (class$javax$swing$event$ChangeListener == null ? (class$javax$swing$event$ChangeListener = class$("javax.swing.event.ChangeListener")) : class$javax$swing$event$ChangeListener)) {
  126.             if (this.changeEvent == null) {
  127.                this.changeEvent = new ChangeEvent(this);
  128.             }
  129.  
  130.             ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
  131.          }
  132.       }
  133.  
  134.    }
  135.  
  136.    public BoundedRangeModel getModel() {
  137.       return this.sliderModel;
  138.    }
  139.  
  140.    public void setModel(BoundedRangeModel var1) {
  141.       BoundedRangeModel var2 = this.getModel();
  142.       if (var2 != null) {
  143.          var2.removeChangeListener(this.changeListener);
  144.       }
  145.  
  146.       this.sliderModel = var1;
  147.       if (var1 != null) {
  148.          var1.addChangeListener(this.changeListener);
  149.          if (super.accessibleContext != null) {
  150.             super.accessibleContext.firePropertyChange("AccessibleValue", var2 == null ? null : new Integer(var2.getValue()), var1 == null ? null : new Integer(var1.getValue()));
  151.          }
  152.       }
  153.  
  154.       ((JComponent)this).firePropertyChange("model", var2, this.sliderModel);
  155.    }
  156.  
  157.    public int getValue() {
  158.       return this.getModel().getValue();
  159.    }
  160.  
  161.    public void setValue(int var1) {
  162.       BoundedRangeModel var2 = this.getModel();
  163.       int var3 = var2.getValue();
  164.       var2.setValue(var1);
  165.       if (super.accessibleContext != null) {
  166.          super.accessibleContext.firePropertyChange("AccessibleValue", new Integer(var3), new Integer(var2.getValue()));
  167.       }
  168.  
  169.    }
  170.  
  171.    public int getMinimum() {
  172.       return this.getModel().getMinimum();
  173.    }
  174.  
  175.    public void setMinimum(int var1) {
  176.       int var2 = this.getModel().getMinimum();
  177.       this.getModel().setMinimum(var1);
  178.       ((JComponent)this).firePropertyChange("minimum", new Integer(var2), new Integer(var1));
  179.    }
  180.  
  181.    public int getMaximum() {
  182.       return this.getModel().getMaximum();
  183.    }
  184.  
  185.    public void setMaximum(int var1) {
  186.       int var2 = this.getModel().getMaximum();
  187.       this.getModel().setMaximum(var1);
  188.       ((JComponent)this).firePropertyChange("maximum", new Integer(var2), new Integer(var1));
  189.    }
  190.  
  191.    public boolean getValueIsAdjusting() {
  192.       return this.getModel().getValueIsAdjusting();
  193.    }
  194.  
  195.    public void setValueIsAdjusting(boolean var1) {
  196.       BoundedRangeModel var2 = this.getModel();
  197.       boolean var3 = var2.getValueIsAdjusting();
  198.       var2.setValueIsAdjusting(var1);
  199.       if (var3 != var1 && super.accessibleContext != null) {
  200.          super.accessibleContext.firePropertyChange("AccessibleState", var3 ? AccessibleState.BUSY : null, var1 ? AccessibleState.BUSY : null);
  201.       }
  202.  
  203.    }
  204.  
  205.    public int getExtent() {
  206.       return this.getModel().getExtent();
  207.    }
  208.  
  209.    public void setExtent(int var1) {
  210.       this.getModel().setExtent(var1);
  211.    }
  212.  
  213.    public int getOrientation() {
  214.       return this.orientation;
  215.    }
  216.  
  217.    public void setOrientation(int var1) {
  218.       this.checkOrientation(var1);
  219.       int var2 = this.orientation;
  220.       this.orientation = var1;
  221.       ((JComponent)this).firePropertyChange("orientation", var2, var1);
  222.       if (var2 != var1 && super.accessibleContext != null) {
  223.          super.accessibleContext.firePropertyChange("AccessibleState", var2 == 1 ? AccessibleState.VERTICAL : AccessibleState.HORIZONTAL, var1 == 1 ? AccessibleState.VERTICAL : AccessibleState.HORIZONTAL);
  224.       }
  225.  
  226.       if (var1 != var2) {
  227.          ((JComponent)this).revalidate();
  228.       }
  229.  
  230.    }
  231.  
  232.    public Dictionary getLabelTable() {
  233.       return this.labelTable;
  234.    }
  235.  
  236.    public void setLabelTable(Dictionary var1) {
  237.       Dictionary var2 = this.labelTable;
  238.       this.labelTable = var1;
  239.       this.updateLabelUIs();
  240.       ((JComponent)this).firePropertyChange("labelTable", var2, this.labelTable);
  241.       if (var1 != var2) {
  242.          ((JComponent)this).revalidate();
  243.          ((Component)this).repaint();
  244.       }
  245.  
  246.    }
  247.  
  248.    protected void updateLabelUIs() {
  249.       if (this.getLabelTable() != null) {
  250.          Enumeration var1 = this.getLabelTable().keys();
  251.  
  252.          while(var1.hasMoreElements()) {
  253.             Object var2 = this.getLabelTable().get(var1.nextElement());
  254.             if (var2 instanceof JComponent) {
  255.                JComponent var3 = (JComponent)var2;
  256.                var3.updateUI();
  257.                ((Component)var3).setSize(var3.getPreferredSize());
  258.             }
  259.          }
  260.  
  261.       }
  262.    }
  263.  
  264.    public Hashtable createStandardLabels(int var1) {
  265.       return this.createStandardLabels(var1, this.getMinimum());
  266.    }
  267.  
  268.    public Hashtable createStandardLabels(int var1, int var2) {
  269.       if (var2 <= this.getMaximum() && var2 >= this.getMinimum()) {
  270.          if (var1 <= 0) {
  271.             throw new IllegalArgumentException("Label incremement must be > 0");
  272.          } else {
  273.             1.SmartHashtable var3 = new 1.SmartHashtable(this, var1, var2);
  274.             if (this.getLabelTable() != null && this.getLabelTable() instanceof PropertyChangeListener) {
  275.                ((JComponent)this).removePropertyChangeListener((PropertyChangeListener)this.getLabelTable());
  276.             }
  277.  
  278.             ((JComponent)this).addPropertyChangeListener(var3);
  279.             return var3;
  280.          }
  281.       } else {
  282.          throw new IllegalArgumentException("Slider label start point out of range.");
  283.       }
  284.    }
  285.  
  286.    public boolean getInverted() {
  287.       return this.isInverted;
  288.    }
  289.  
  290.    public void setInverted(boolean var1) {
  291.       boolean var2 = this.isInverted;
  292.       this.isInverted = var1;
  293.       ((JComponent)this).firePropertyChange("inverted", var2, this.isInverted);
  294.       if (var1 != var2) {
  295.          ((Component)this).repaint();
  296.       }
  297.  
  298.    }
  299.  
  300.    public int getMajorTickSpacing() {
  301.       return this.majorTickSpacing;
  302.    }
  303.  
  304.    public void setMajorTickSpacing(int var1) {
  305.       int var2 = this.majorTickSpacing;
  306.       this.majorTickSpacing = var1;
  307.       if (this.labelTable == null && this.getMajorTickSpacing() > 0 && this.getPaintLabels()) {
  308.          this.setLabelTable(this.createStandardLabels(this.getMajorTickSpacing()));
  309.       }
  310.  
  311.       ((JComponent)this).firePropertyChange("majorTickSpacing", var2, this.majorTickSpacing);
  312.       if (this.majorTickSpacing != var2 && this.getPaintTicks()) {
  313.          ((Component)this).repaint();
  314.       }
  315.  
  316.    }
  317.  
  318.    public int getMinorTickSpacing() {
  319.       return this.minorTickSpacing;
  320.    }
  321.  
  322.    public void setMinorTickSpacing(int var1) {
  323.       int var2 = this.minorTickSpacing;
  324.       this.minorTickSpacing = var1;
  325.       ((JComponent)this).firePropertyChange("minorTickSpacing", var2, this.minorTickSpacing);
  326.       if (this.minorTickSpacing != var2 && this.getPaintTicks()) {
  327.          ((Component)this).repaint();
  328.       }
  329.  
  330.    }
  331.  
  332.    public boolean getSnapToTicks() {
  333.       return this.snapToTicks;
  334.    }
  335.  
  336.    boolean getSnapToValue() {
  337.       return this.snapToValue;
  338.    }
  339.  
  340.    public void setSnapToTicks(boolean var1) {
  341.       boolean var2 = this.snapToTicks;
  342.       this.snapToTicks = var1;
  343.       ((JComponent)this).firePropertyChange("snapToTicks", var2, this.snapToTicks);
  344.    }
  345.  
  346.    void setSnapToValue(boolean var1) {
  347.       boolean var2 = this.snapToValue;
  348.       this.snapToValue = var1;
  349.       ((JComponent)this).firePropertyChange("snapToValue", var2, this.snapToValue);
  350.    }
  351.  
  352.    public boolean getPaintTicks() {
  353.       return this.paintTicks;
  354.    }
  355.  
  356.    public void setPaintTicks(boolean var1) {
  357.       boolean var2 = this.paintTicks;
  358.       this.paintTicks = var1;
  359.       ((JComponent)this).firePropertyChange("paintTicks", var2, this.paintTicks);
  360.       if (this.paintTicks != var2) {
  361.          ((JComponent)this).revalidate();
  362.          ((Component)this).repaint();
  363.       }
  364.  
  365.    }
  366.  
  367.    public boolean getPaintTrack() {
  368.       return this.paintTrack;
  369.    }
  370.  
  371.    public void setPaintTrack(boolean var1) {
  372.       boolean var2 = this.paintTrack;
  373.       this.paintTrack = var1;
  374.       ((JComponent)this).firePropertyChange("paintTrack", var2, this.paintTrack);
  375.       if (this.paintTrack != var2) {
  376.          ((Component)this).repaint();
  377.       }
  378.  
  379.    }
  380.  
  381.    public boolean getPaintLabels() {
  382.       return this.paintLabels;
  383.    }
  384.  
  385.    public void setPaintLabels(boolean var1) {
  386.       boolean var2 = this.paintLabels;
  387.       this.paintLabels = var1;
  388.       if (this.labelTable == null && this.getMajorTickSpacing() > 0) {
  389.          this.setLabelTable(this.createStandardLabels(this.getMajorTickSpacing()));
  390.       }
  391.  
  392.       ((JComponent)this).firePropertyChange("paintLabels", var2, this.paintLabels);
  393.       if (this.paintLabels != var2) {
  394.          ((JComponent)this).revalidate();
  395.          ((Component)this).repaint();
  396.       }
  397.  
  398.    }
  399.  
  400.    private void writeObject(ObjectOutputStream var1) throws IOException {
  401.       var1.defaultWriteObject();
  402.       if (super.ui != null && this.getUIClassID().equals("SliderUI")) {
  403.          super.ui.installUI(this);
  404.       }
  405.  
  406.    }
  407.  
  408.    protected String paramString() {
  409.       String var1 = this.paintTicks ? "true" : "false";
  410.       String var2 = this.paintTrack ? "true" : "false";
  411.       String var3 = this.paintLabels ? "true" : "false";
  412.       String var4 = this.isInverted ? "true" : "false";
  413.       String var5 = this.snapToTicks ? "true" : "false";
  414.       String var6 = this.snapToValue ? "true" : "false";
  415.       String var7 = this.orientation == 0 ? "HORIZONTAL" : "VERTICAL";
  416.       return super.paramString() + ",isInverted=" + var4 + ",majorTickSpacing=" + this.majorTickSpacing + ",minorTickSpacing=" + this.minorTickSpacing + ",orientation=" + var7 + ",paintLabels=" + var3 + ",paintTicks=" + var1 + ",paintTrack=" + var2 + ",snapToTicks=" + var5 + ",snapToValue=" + var6;
  417.    }
  418.  
  419.    public AccessibleContext getAccessibleContext() {
  420.       if (super.accessibleContext == null) {
  421.          super.accessibleContext = new AccessibleJSlider(this);
  422.       }
  423.  
  424.       return super.accessibleContext;
  425.    }
  426.  
  427.    // $FF: synthetic method
  428.    static Class class$(String var0) {
  429.       try {
  430.          return Class.forName(var0);
  431.       } catch (ClassNotFoundException var2) {
  432.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  433.       }
  434.    }
  435. }
  436.