1 Clazz.declarePackage ("javax.swing");
2 Clazz.load (["java.awt.LayoutManager", "java.beans.PropertyChangeListener", "javax.swing.Action", "$.JComponent", "$.JFormattedTextField", "$.JPanel", "javax.swing.event.ChangeListener", "javax.swing.text.DocumentFilter", "$.NumberFormatter"], "javax.swing.JSpinner", ["java.lang.IllegalArgumentException", "java.awt.Dimension", "java.text.DecimalFormat", "javax.swing.SpinnerListModel", "$.SpinnerNumberModel", "$.UIManager", "javax.swing.event.ChangeEvent", "javax.swing.text.DefaultFormatterFactory"], function () {
3 c$ = Clazz.decorateAsClass (function () {
6 this.modelListener = null;
7 this.changeEvent = null;
8 this.editorExplicitlySet = false;
9 if (!Clazz.isClassDefined ("javax.swing.JSpinner.ModelListener")) {
10 javax.swing.JSpinner.$JSpinner$ModelListener$ ();
12 Clazz.instantialize (this, arguments);
13 }, javax.swing, "JSpinner", javax.swing.JComponent);
14 Clazz.makeConstructor (c$,
16 Clazz.superConstructor (this, javax.swing.JSpinner, []);
18 this.editor = this.createEditor (model);
19 this.setUIProperty ("opaque", new Boolean (true));
21 }, "javax.swing.SpinnerModel");
22 Clazz.makeConstructor (c$,
24 this.construct ( new javax.swing.SpinnerNumberModel ());
26 Clazz.overrideMethod (c$, "getUI",
30 Clazz.overrideMethod (c$, "getUIClassID",
34 Clazz.overrideMethod (c$, "updateUI",
36 this.setUI (javax.swing.UIManager.getUI (this));
39 Clazz.defineMethod (c$, "createEditor",
41 if (Clazz.instanceOf (model, javax.swing.SpinnerListModel)) {
42 return new javax.swing.JSpinner.ListEditor (this);
43 } else if (Clazz.instanceOf (model, javax.swing.SpinnerNumberModel)) {
44 return new javax.swing.JSpinner.NumberEditor (this);
46 return new javax.swing.JSpinner.DefaultEditor (this);
47 }}, "javax.swing.SpinnerModel");
48 Clazz.defineMethod (c$, "setModel",
51 throw new IllegalArgumentException ("null model");
52 }if (!model.equals (this.model)) {
53 var oldModel = this.model;
55 if (this.modelListener != null) {
56 oldModel.removeChangeListener (this.modelListener);
57 this.model.addChangeListener (this.modelListener);
58 }this.firePropertyChangeObject ("model", oldModel, model);
59 if (!this.editorExplicitlySet) {
60 this.setEditor (this.createEditor (model));
61 this.editorExplicitlySet = false;
64 }}, "javax.swing.SpinnerModel");
65 Clazz.defineMethod (c$, "getModel",
69 Clazz.defineMethod (c$, "getValue",
71 return this.getModel ().getValue ();
73 Clazz.defineMethod (c$, "setValue",
75 this.getModel ().setValue (value);
77 Clazz.defineMethod (c$, "getNextValue",
79 return this.getModel ().getNextValue ();
81 Clazz.defineMethod (c$, "addChangeListener",
83 if (this.modelListener == null) {
84 this.modelListener = Clazz.innerTypeInstance (javax.swing.JSpinner.ModelListener, this, null);
85 this.getModel ().addChangeListener (this.modelListener);
86 }this.listenerList.add (javax.swing.event.ChangeListener, listener);
87 }, "javax.swing.event.ChangeListener");
88 Clazz.defineMethod (c$, "removeChangeListener",
90 this.listenerList.remove (javax.swing.event.ChangeListener, listener);
91 }, "javax.swing.event.ChangeListener");
92 Clazz.defineMethod (c$, "getChangeListeners",
94 return this.listenerList.getListeners (javax.swing.event.ChangeListener);
96 Clazz.defineMethod (c$, "fireStateChanged",
98 var listeners = this.listenerList.getListenerList ();
99 for (var i = listeners.length - 2; i >= 0; i -= 2) {
100 if (listeners[i] === javax.swing.event.ChangeListener) {
101 if (this.changeEvent == null) {
102 this.changeEvent = new javax.swing.event.ChangeEvent (this);
103 }(listeners[i + 1]).stateChanged (this.changeEvent);
106 Clazz.defineMethod (c$, "getPreviousValue",
108 return this.getModel ().getPreviousValue ();
110 Clazz.defineMethod (c$, "setEditor",
112 if (editor == null) {
113 throw new IllegalArgumentException ("null editor");
114 }if (!editor.equals (this.editor)) {
115 var oldEditor = this.editor;
116 this.editor = editor;
117 if (Clazz.instanceOf (oldEditor, javax.swing.JSpinner.DefaultEditor)) {
118 (oldEditor).dismiss (this);
119 }this.editorExplicitlySet = true;
120 this.firePropertyChangeObject ("editor", oldEditor, editor);
123 }}, "javax.swing.JComponent");
124 Clazz.defineMethod (c$, "getEditor",
128 Clazz.defineMethod (c$, "commitEdit",
130 var editor = this.getEditor ();
131 if (Clazz.instanceOf (editor, javax.swing.JSpinner.DefaultEditor)) {
132 (editor).commitEdit ();
134 c$.$JSpinner$ModelListener$ = function () {
136 c$ = Clazz.decorateAsClass (function () {
137 Clazz.prepareCallback (this, arguments);
138 Clazz.instantialize (this, arguments);
139 }, javax.swing.JSpinner, "ModelListener", null, javax.swing.event.ChangeListener);
140 Clazz.overrideMethod (c$, "stateChanged",
142 this.b$["javax.swing.JSpinner"].fireStateChanged ();
143 }, "javax.swing.event.ChangeEvent");
147 c$ = Clazz.declareType (javax.swing.JSpinner, "DefaultEditor", javax.swing.JPanel, [javax.swing.event.ChangeListener, java.beans.PropertyChangeListener, java.awt.LayoutManager]);
148 Clazz.makeConstructor (c$,
150 Clazz.superConstructor (this, javax.swing.JSpinner.DefaultEditor, [null]);
151 var b = new javax.swing.JFormattedTextField ();
152 b.setName ("Spinner.formattedTextField");
153 b.setValue (a.getValue ());
154 b.addPropertyChangeListener (this);
155 b.setEditable (false);
156 b.setInheritsPopupMenu (true);
157 var c = a.getToolTipText ();
159 b.setToolTipText (c);
161 this.setLayout (this);
162 a.addChangeListener (this);
163 var d = b.getActionMap ();
165 d.put ("increment", javax.swing.JSpinner.DISABLED_ACTION);
166 d.put ("decrement", javax.swing.JSpinner.DISABLED_ACTION);
167 }}, "javax.swing.JSpinner");
168 Clazz.defineMethod (c$, "dismiss",
170 a.removeChangeListener (this);
171 }, "javax.swing.JSpinner");
172 Clazz.defineMethod (c$, "getSpinner",
174 for (var a = this; a != null; a = a.getParent ()) {
175 if (Clazz.instanceOf (a, javax.swing.JSpinner)) {
180 Clazz.defineMethod (c$, "getTextField",
182 return this.getComponent (0);
184 Clazz.overrideMethod (c$, "stateChanged",
186 var b = (a.getSource ());
187 this.getTextField ().setValue (b.getValue ());
188 }, "javax.swing.event.ChangeEvent");
189 Clazz.overrideMethod (c$, "propertyChange",
191 var b = this.getSpinner ();
194 }var c = a.getSource ();
195 var d = a.getPropertyName ();
196 if ((Clazz.instanceOf (c, javax.swing.JFormattedTextField)) && "value".equals (d)) {
197 var e = b.getValue ();
199 b.setValue (this.getTextField ().getValue ());
201 if (Clazz.exceptionOf (iae, IllegalArgumentException)) {
205 if (Clazz.exceptionOf (iae2, IllegalArgumentException)) {
214 }}, "java.beans.PropertyChangeEvent");
215 Clazz.overrideMethod (c$, "addLayoutComponent",
217 }, "~S,java.awt.Component");
218 Clazz.overrideMethod (c$, "removeLayoutComponent",
220 }, "java.awt.Component");
221 Clazz.defineMethod (c$, "insetSize",
223 var b = a.getInsets ();
224 var c = b.left + b.right;
225 var d = b.top + b.bottom;
226 return new java.awt.Dimension (c, d);
227 }, "java.awt.Container");
228 Clazz.overrideMethod (c$, "preferredLayoutSize",
230 var b = this.insetSize (a);
231 if (a.getComponentCount () > 0) {
232 var c = this.getComponent (0).getPreferredSize ();
234 b.height += c.height;
236 }, "java.awt.Container");
237 Clazz.overrideMethod (c$, "minimumLayoutSize",
239 var b = this.insetSize (a);
240 if (a.getComponentCount () > 0) {
241 var c = this.getComponent (0).getMinimumSize ();
243 b.height += c.height;
245 }, "java.awt.Container");
246 Clazz.overrideMethod (c$, "layoutContainer",
248 if (a.getComponentCount () > 0) {
249 var b = a.getInsets ();
250 var c = a.getWidth () - (b.left + b.right);
251 var d = a.getHeight () - (b.top + b.bottom);
252 this.getComponent (0).setBounds (b.left, b.top, c, d);
253 }}, "java.awt.Container");
254 Clazz.defineMethod (c$, "commitEdit",
257 Clazz.defineMethod (c$, "getBaseline",
259 Clazz.superCall (this, javax.swing.JSpinner.DefaultEditor, "getBaseline", [a, b]);
260 var c = this.getInsets ();
261 a = a - c.left - c.right;
262 b = b - c.top - c.bottom;
263 var d = this.getComponent (0).getBaseline (a, b);
268 Clazz.overrideMethod (c$, "getBaselineResizeBehavior",
270 return this.getComponent (0).getBaselineResizeBehavior ();
274 c$ = Clazz.decorateAsClass (function () {
276 Clazz.instantialize (this, arguments);
277 }, javax.swing.JSpinner, "NumberEditorFormatter", javax.swing.text.NumberFormatter);
278 Clazz.makeConstructor (c$,
280 Clazz.superConstructor (this, javax.swing.JSpinner.NumberEditorFormatter, [b]);
282 this.setValueClass (a.getValue ().getClass ());
283 }, "javax.swing.SpinnerNumberModel,java.text.NumberFormat");
284 Clazz.overrideMethod (c$, "setMinimum",
286 this.model.setMinimum (a);
288 Clazz.overrideMethod (c$, "getMinimum",
290 return this.model.getMinimum ();
292 Clazz.overrideMethod (c$, "setMaximum",
294 this.model.setMaximum (a);
296 Clazz.overrideMethod (c$, "getMaximum",
298 return this.model.getMaximum ();
302 c$ = Clazz.declareType (javax.swing.JSpinner, "NumberEditor", javax.swing.JSpinner.DefaultEditor);
303 c$.getDefaultPattern = Clazz.defineMethod (c$, "getDefaultPattern",
306 }, "java.util.Locale");
307 Clazz.makeConstructor (c$,
309 this.construct (a, javax.swing.JSpinner.NumberEditor.getDefaultPattern (a.getLocale ()));
310 }, "javax.swing.JSpinner");
311 Clazz.makeConstructor (c$,
313 this.construct (a, new java.text.DecimalFormat (b));
314 }, "javax.swing.JSpinner,~S");
315 Clazz.makeConstructor (c$,
317 Clazz.superConstructor (this, javax.swing.JSpinner.NumberEditor, [a]);
318 if (!(Clazz.instanceOf (a.getModel (), javax.swing.SpinnerNumberModel))) {
319 throw new IllegalArgumentException ("model not a SpinnerNumberModel");
320 }var c = a.getModel ();
321 var d = new javax.swing.JSpinner.NumberEditorFormatter (c, b);
322 var e = new javax.swing.text.DefaultFormatterFactory (d);
323 var f = this.getTextField ();
324 f.setEditable (true);
325 f.setFormatterFactory (e);
326 f.setHorizontalAlignment (4);
328 var g = d.valueToString (c.getMinimum ());
329 var h = d.valueToString (c.getMaximum ());
330 f.setColumns (Math.max (g.length, h.length));
332 if (Clazz.exceptionOf (e, java.text.ParseException)) {
337 }, "javax.swing.JSpinner,java.text.DecimalFormat");
338 Clazz.defineMethod (c$, "getFormat",
340 return ((this.getTextField ().getFormatter ())).getFormat ();
342 Clazz.defineMethod (c$, "getModel",
344 return (this.getSpinner ().getModel ());
348 c$ = Clazz.decorateAsClass (function () {
349 if (!Clazz.isClassDefined ("javax.swing.JSpinner.ListEditor.ListFormatter")) {
350 javax.swing.JSpinner.ListEditor.$JSpinner$ListEditor$ListFormatter$ ();
352 Clazz.instantialize (this, arguments);
353 }, javax.swing.JSpinner, "ListEditor", javax.swing.JSpinner.DefaultEditor);
354 Clazz.makeConstructor (c$,
356 Clazz.superConstructor (this, javax.swing.JSpinner.ListEditor, [a]);
357 if (!(Clazz.instanceOf (a.getModel (), javax.swing.SpinnerListModel))) {
358 throw new IllegalArgumentException ("model not a SpinnerListModel");
359 }this.getTextField ().setEditable (true);
360 this.getTextField ().setFormatterFactory ( new javax.swing.text.DefaultFormatterFactory (Clazz.innerTypeInstance (javax.swing.JSpinner.ListEditor.ListFormatter, this, null)));
361 }, "javax.swing.JSpinner");
362 Clazz.defineMethod (c$, "getModel",
364 return (this.getSpinner ().getModel ());
366 c$.$JSpinner$ListEditor$ListFormatter$ = function () {
368 c$ = Clazz.decorateAsClass (function () {
369 Clazz.prepareCallback (this, arguments);
371 if (!Clazz.isClassDefined ("javax.swing.JSpinner.ListEditor.ListFormatter.Filter")) {
372 javax.swing.JSpinner.ListEditor.ListFormatter.$JSpinner$ListEditor$ListFormatter$Filter$ ();
374 Clazz.instantialize (this, arguments);
375 }, javax.swing.JSpinner.ListEditor, "ListFormatter", javax.swing.JFormattedTextField.AbstractFormatter);
376 Clazz.overrideMethod (c$, "valueToString",
380 }return a.toString ();
382 Clazz.overrideMethod (c$, "stringToValue",
386 Clazz.overrideMethod (c$, "getDocumentFilter",
388 if (this.filter == null) {
389 this.filter = Clazz.innerTypeInstance (javax.swing.JSpinner.ListEditor.ListFormatter.Filter, this, null);
392 c$.$JSpinner$ListEditor$ListFormatter$Filter$ = function () {
394 c$ = Clazz.decorateAsClass (function () {
395 Clazz.prepareCallback (this, arguments);
396 Clazz.instantialize (this, arguments);
397 }, javax.swing.JSpinner.ListEditor.ListFormatter, "Filter", javax.swing.text.DocumentFilter);
398 Clazz.defineMethod (c$, "replace",
399 function (a, b, c, d, e) {
400 if (d != null && (b + c) == a.getDocument ().getLength ()) {
401 var f = this.b$["javax.swing.JSpinner.ListEditor"].getModel ().findNextMatch (a.getDocument ().getText (0, b) + d);
402 var g = (f != null) ? f.toString () : null;
405 a.insertString (0, g, null);
406 this.b$["javax.swing.JSpinner.ListEditor.ListFormatter"].getFormattedTextField ().select (b + d.length, g.length);
408 }}Clazz.superCall (this, javax.swing.JSpinner.ListEditor.ListFormatter.Filter, "replace", [a, b, c, d, e]);
409 }, "javax.swing.text.DocumentFilter.FilterBypass,~N,~N,~S,javax.swing.text.AttributeSet");
410 Clazz.overrideMethod (c$, "insertString",
411 function (a, b, c, d) {
412 this.replace (a, b, 0, c, d);
413 }, "javax.swing.text.DocumentFilter.FilterBypass,~N,~S,javax.swing.text.AttributeSet");
420 c$ = Clazz.declareType (javax.swing.JSpinner, "DisabledAction", null, javax.swing.Action);
421 Clazz.overrideMethod (c$, "getValue",
425 Clazz.overrideMethod (c$, "putValue",
428 Clazz.overrideMethod (c$, "setEnabled",
431 Clazz.overrideMethod (c$, "isEnabled",
435 Clazz.overrideMethod (c$, "addPropertyChangeListener",
437 }, "java.beans.PropertyChangeListener");
438 Clazz.overrideMethod (c$, "removePropertyChangeListener",
440 }, "java.beans.PropertyChangeListener");
441 Clazz.overrideMethod (c$, "actionPerformed",
443 }, "java.awt.event.ActionEvent");
445 Clazz.defineStatics (c$,
446 "$uiClassID", "SpinnerUI");
447 c$.DISABLED_ACTION = c$.prototype.DISABLED_ACTION = new javax.swing.JSpinner.DisabledAction ();