home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / basic / BasicRGBChooserPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  3.7 KB  |  129 lines

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import com.sun.java.swing.ColorChooserPanel;
  4. import com.sun.java.swing.JComponent;
  5. import com.sun.java.swing.JLabel;
  6. import com.sun.java.swing.JPanel;
  7. import com.sun.java.swing.JSlider;
  8. import com.sun.java.swing.event.ChangeEvent;
  9. import com.sun.java.swing.event.ChangeListener;
  10. import java.awt.BorderLayout;
  11. import java.awt.Color;
  12. import java.awt.Container;
  13. import java.awt.Dimension;
  14. import java.io.Serializable;
  15. import java.util.EventObject;
  16.  
  17. public class BasicRGBChooserPanel extends ColorChooserPanel implements ChangeListener, Serializable {
  18.    protected Color color;
  19.    protected JSlider redSlider;
  20.    protected JSlider greenSlider;
  21.    protected JSlider blueSlider;
  22.    protected JPanel resultColor;
  23.    String redString;
  24.    String greenString;
  25.    String blueString;
  26.  
  27.    public BasicRGBChooserPanel() {
  28.       this.color = Color.red;
  29.       this.redString = "Red";
  30.       this.greenString = "Green";
  31.       this.blueString = "Blue";
  32.    }
  33.  
  34.    public BasicRGBChooserPanel(Color var1) {
  35.       this.color = Color.red;
  36.       this.redString = "Red";
  37.       this.greenString = "Green";
  38.       this.blueString = "Blue";
  39.       this.color = var1;
  40.    }
  41.  
  42.    public void setColor(Color var1) {
  43.       this.redSlider.setValue(var1.getRed());
  44.       this.greenSlider.setValue(var1.getGreen());
  45.       this.blueSlider.setValue(var1.getBlue());
  46.    }
  47.  
  48.    public Color getColor() {
  49.       return this.color;
  50.    }
  51.  
  52.    public void installChooserPanel() {
  53.       ((Container)this).setLayout(new BorderLayout());
  54.       this.resultColor = new 1();
  55.       JPanel var1 = new JPanel();
  56.       ((Container)var1).add(this.resultColor);
  57.       this.resultColor.setBackground(this.color);
  58.       ((Container)this).add(this.resultColor, "Center");
  59.       JPanel var2 = new JPanel();
  60.       ((Container)var2).setLayout(new ColumnLayout());
  61.       ((Container)this).add(var2, "West");
  62.       this.redSlider = new JSlider(0, 0, 255, this.color.getRed());
  63.       this.redSlider.setMajorTickSpacing(85);
  64.       this.redSlider.setMinorTickSpacing(17);
  65.       this.redSlider.setPaintTicks(true);
  66.       this.redSlider.setPaintLabels(true);
  67.       JPanel var3 = new JPanel();
  68.       JLabel var4 = new JLabel("Red");
  69.       ((Container)var3).add(var4);
  70.       ((Container)var3).add(this.redSlider);
  71.       ((Container)var2).add(var3);
  72.       this.greenSlider = new JSlider(0, 0, 255, this.color.getRed());
  73.       this.greenSlider.setMajorTickSpacing(85);
  74.       this.greenSlider.setMinorTickSpacing(17);
  75.       this.greenSlider.setPaintTicks(true);
  76.       this.greenSlider.setPaintLabels(true);
  77.       JPanel var5 = new JPanel();
  78.       JLabel var6 = new JLabel("Green");
  79.       ((Container)var5).add(var6);
  80.       ((Container)var5).add(this.greenSlider);
  81.       ((Container)var2).add(var5);
  82.       this.blueSlider = new JSlider(0, 0, 255, this.color.getRed());
  83.       this.blueSlider.setMajorTickSpacing(85);
  84.       this.blueSlider.setMinorTickSpacing(17);
  85.       this.blueSlider.setPaintTicks(true);
  86.       this.blueSlider.setPaintLabels(true);
  87.       JPanel var7 = new JPanel();
  88.       JLabel var8 = new JLabel("Blue");
  89.       ((Container)var7).add(var8);
  90.       ((Container)var7).add(this.blueSlider);
  91.       ((Container)var2).add(var7);
  92.       int var9 = Math.max(((JComponent)var4).getPreferredSize().width, ((JComponent)var6).getPreferredSize().width);
  93.       var9 = Math.max(var9, ((JComponent)var8).getPreferredSize().width);
  94.       ((JComponent)var4).setPreferredSize(new Dimension(var9, ((JComponent)var4).getPreferredSize().height));
  95.       ((JComponent)var6).setPreferredSize(new Dimension(var9, ((JComponent)var6).getPreferredSize().height));
  96.       ((JComponent)var8).setPreferredSize(new Dimension(var9, ((JComponent)var8).getPreferredSize().height));
  97.       ((JComponent)this).setPreferredSize(new Dimension(((JComponent)var2).getPreferredSize().width + this.resultColor.getPreferredSize().width, ((JComponent)var2).getPreferredSize().height + this.resultColor.getPreferredSize().height));
  98.       this.redSlider.addChangeListener(this);
  99.       this.greenSlider.addChangeListener(this);
  100.       this.blueSlider.addChangeListener(this);
  101.    }
  102.  
  103.    public void uninstallChooserPanel() {
  104.       this.color = null;
  105.       this.redSlider = null;
  106.       this.greenSlider = null;
  107.       this.blueSlider = null;
  108.    }
  109.  
  110.    public void stateChanged(ChangeEvent var1) {
  111.       if (((EventObject)var1).getSource() instanceof JSlider) {
  112.          JSlider var2 = (JSlider)((EventObject)var1).getSource();
  113.          Color var3 = this.color;
  114.          if (var2 == this.redSlider) {
  115.             this.color = new Color(this.redSlider.getValue(), this.color.getGreen(), this.color.getBlue());
  116.          } else if (var2 == this.greenSlider) {
  117.             this.color = new Color(this.color.getRed(), this.greenSlider.getValue(), this.color.getBlue());
  118.          } else if (var2 == this.blueSlider) {
  119.             this.color = new Color(this.color.getRed(), this.color.getGreen(), this.blueSlider.getValue());
  120.          }
  121.  
  122.          this.resultColor.setBackground(this.color);
  123.          this.resultColor.repaint();
  124.          ((ColorChooserPanel)this).fireColorPropertyChange(var3, this.color);
  125.       }
  126.  
  127.    }
  128. }
  129.