1 Clazz.declarePackage ("javax.swing.colorchooser");
2 Clazz.load (["javax.swing.colorchooser.AbstractColorChooserPanel", "javax.swing.event.ChangeListener"], "javax.swing.colorchooser.DefaultRGBChooserPanel", ["java.lang.Boolean", "java.awt.BorderLayout", "$.Color", "javax.swing.JLabel", "$.JPanel", "$.JSlider", "$.JSpinner", "$.SpinnerNumberModel", "$.UIManager", "javax.swing.colorchooser.CenterLayout", "$.SmartGridLayout"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 this.greenSlider = null;
6 this.blueSlider = null;
9 this.greenField = null;
12 this.isAdjusting = false;
13 Clazz.instantialize (this, arguments);
14 }, javax.swing.colorchooser, "DefaultRGBChooserPanel", javax.swing.colorchooser.AbstractColorChooserPanel, javax.swing.event.ChangeListener);
15 Clazz.makeConstructor (c$,
17 Clazz.superConstructor (this, javax.swing.colorchooser.DefaultRGBChooserPanel);
18 this.setInheritsPopupMenu (true);
20 Clazz.defineMethod (c$, "setColor",
22 var red = newColor.getRed ();
23 var blue = newColor.getBlue ();
24 var green = newColor.getGreen ();
25 if (this.redSlider.getValue () != red) {
26 this.redSlider.setValue (red);
27 }if (this.greenSlider.getValue () != green) {
28 this.greenSlider.setValue (green);
29 }if (this.blueSlider.getValue () != blue) {
30 this.blueSlider.setValue (blue);
31 }if ((this.redField.getValue ()).intValue () != red) this.redField.setValue ( new Integer (red));
32 if ((this.greenField.getValue ()).intValue () != green) this.greenField.setValue ( new Integer (green));
33 if ((this.blueField.getValue ()).intValue () != blue) this.blueField.setValue ( new Integer (blue));
35 Clazz.overrideMethod (c$, "getDisplayName",
37 return javax.swing.UIManager.getString ("ColorChooser.rgbNameText");
39 Clazz.overrideMethod (c$, "getMnemonic",
41 return javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbMnemonic", -1);
43 Clazz.overrideMethod (c$, "getDisplayedMnemonicIndex",
45 return javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbDisplayedMnemonicIndex", -1);
47 Clazz.overrideMethod (c$, "getSmallDisplayIcon",
51 Clazz.overrideMethod (c$, "getLargeDisplayIcon",
55 Clazz.overrideMethod (c$, "buildChooser",
57 var redString = javax.swing.UIManager.getString ("ColorChooser.rgbRedText");
58 var greenString = javax.swing.UIManager.getString ("ColorChooser.rgbGreenText");
59 var blueString = javax.swing.UIManager.getString ("ColorChooser.rgbBlueText");
60 this.setLayout ( new java.awt.BorderLayout ());
61 var color = this.getColorFromModel ();
62 var enclosure = new javax.swing.JPanel ();
63 enclosure.setLayout ( new javax.swing.colorchooser.SmartGridLayout (3, 3));
64 enclosure.setInheritsPopupMenu (true);
65 this.add (enclosure, "Center");
66 var l = new javax.swing.JLabel (redString);
67 l.setDisplayedMnemonic (javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbRedMnemonic", -1));
69 this.redSlider = new javax.swing.JSlider (0, 0, 255, color.getRed ());
70 this.redSlider.setMajorTickSpacing (85);
71 this.redSlider.setMinorTickSpacing (17);
72 this.redSlider.setPaintTicks (true);
73 this.redSlider.setPaintLabels (true);
74 this.redSlider.setInheritsPopupMenu (true);
75 enclosure.add (this.redSlider);
76 this.redField = new javax.swing.JSpinner ( new javax.swing.SpinnerNumberModel (color.getRed (), 0, 255, 1));
77 l.setLabelFor (this.redSlider);
78 this.redField.setInheritsPopupMenu (true);
79 var redFieldHolder = new javax.swing.JPanel ( new javax.swing.colorchooser.CenterLayout ());
80 redFieldHolder.setInheritsPopupMenu (true);
81 this.redField.addChangeListener (this);
82 redFieldHolder.add (this.redField);
83 enclosure.add (redFieldHolder);
84 l = new javax.swing.JLabel (greenString);
85 l.setDisplayedMnemonic (javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbGreenMnemonic", -1));
87 this.greenSlider = new javax.swing.JSlider (0, 0, 255, color.getGreen ());
88 this.greenSlider.setMajorTickSpacing (85);
89 this.greenSlider.setMinorTickSpacing (17);
90 this.greenSlider.setPaintTicks (true);
91 this.greenSlider.setPaintLabels (true);
92 this.greenSlider.setInheritsPopupMenu (true);
93 enclosure.add (this.greenSlider);
94 this.greenField = new javax.swing.JSpinner ( new javax.swing.SpinnerNumberModel (color.getGreen (), 0, 255, 1));
95 l.setLabelFor (this.greenSlider);
96 this.greenField.setInheritsPopupMenu (true);
97 var greenFieldHolder = new javax.swing.JPanel ( new javax.swing.colorchooser.CenterLayout ());
98 greenFieldHolder.add (this.greenField);
99 greenFieldHolder.setInheritsPopupMenu (true);
100 this.greenField.addChangeListener (this);
101 enclosure.add (greenFieldHolder);
102 l = new javax.swing.JLabel (blueString);
103 l.setDisplayedMnemonic (javax.swing.colorchooser.AbstractColorChooserPanel.getInt ("ColorChooser.rgbBlueMnemonic", -1));
105 this.blueSlider = new javax.swing.JSlider (0, 0, 255, color.getBlue ());
106 this.blueSlider.setMajorTickSpacing (85);
107 this.blueSlider.setMinorTickSpacing (17);
108 this.blueSlider.setPaintTicks (true);
109 this.blueSlider.setPaintLabels (true);
110 this.blueSlider.setInheritsPopupMenu (true);
111 enclosure.add (this.blueSlider);
112 this.blueField = new javax.swing.JSpinner ( new javax.swing.SpinnerNumberModel (color.getBlue (), 0, 255, 1));
113 l.setLabelFor (this.blueSlider);
114 this.blueField.setInheritsPopupMenu (true);
115 var blueFieldHolder = new javax.swing.JPanel ( new javax.swing.colorchooser.CenterLayout ());
116 blueFieldHolder.add (this.blueField);
117 this.blueField.addChangeListener (this);
118 blueFieldHolder.setInheritsPopupMenu (true);
119 enclosure.add (blueFieldHolder);
120 this.redSlider.addChangeListener (this);
121 this.greenSlider.addChangeListener (this);
122 this.blueSlider.addChangeListener (this);
123 this.redSlider.putClientProperty ("JSlider.isFilled", Boolean.TRUE);
124 this.greenSlider.putClientProperty ("JSlider.isFilled", Boolean.TRUE);
125 this.blueSlider.putClientProperty ("JSlider.isFilled", Boolean.TRUE);
127 Clazz.defineMethod (c$, "uninstallChooserPanel",
128 function (enclosingChooser) {
129 Clazz.superCall (this, javax.swing.colorchooser.DefaultRGBChooserPanel, "uninstallChooserPanel", [enclosingChooser]);
131 }, "javax.swing.JColorChooser");
132 Clazz.overrideMethod (c$, "updateChooser",
134 if (!this.isAdjusting) {
135 this.isAdjusting = true;
136 this.setColor (this.getColorFromModel ());
137 this.isAdjusting = false;
139 Clazz.overrideMethod (c$, "stateChanged",
141 if (Clazz.instanceOf (e.getSource (), javax.swing.JSlider) && !this.isAdjusting) {
142 var red = this.redSlider.getValue ();
143 var green = this.greenSlider.getValue ();
144 var blue = this.blueSlider.getValue ();
145 var color = new java.awt.Color (red, green, blue);
146 this.getColorSelectionModel ().setSelectedColor (color);
147 } else if (Clazz.instanceOf (e.getSource (), javax.swing.JSpinner) && !this.isAdjusting) {
148 var red = (this.redField.getValue ()).intValue ();
149 var green = (this.greenField.getValue ()).intValue ();
150 var blue = (this.blueField.getValue ()).intValue ();
151 var color = new java.awt.Color (red, green, blue);
152 this.getColorSelectionModel ().setSelectedColor (color);
153 }}, "javax.swing.event.ChangeEvent");