1 Clazz.declarePackage ("swingjs.test");
\r
2 Clazz.load (["java.awt.event.ItemListener", "$.MouseListener", "$.MouseMotionListener", "javax.swing.JApplet", "$.JPanel", "java.awt.Color", "$.Font", "$.Rectangle"], ["swingjs.test.Test_2Canvas", "$.Test_2", "$.Test_2Controls"], ["java.awt.BasicStroke", "$.BorderLayout", "$.FlowLayout", "$.Point", "java.awt.event.ActionListener", "java.lang.Double", "$.StringBuffer", "javax.swing.ButtonGroup", "$.JButton", "$.JCheckBox", "$.JFrame", "$.JRadioButton", "$.JSlider"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
5 this.controls = null;
\r
6 Clazz.instantialize (this, arguments);
\r
7 }, swingjs.test, "Test_2", javax.swing.JApplet);
\r
8 Clazz.makeConstructor (c$,
\r
10 Clazz.superConstructor (this, swingjs.test.Test_2, []);
\r
11 this.setName ("Test_2");
\r
13 Clazz.overrideMethod (c$, "init",
\r
15 new javax.swing.JSlider ();
\r
16 this.setLayout ( new java.awt.BorderLayout ());
\r
17 this.canvas = new swingjs.test.Test_2Canvas ();
\r
18 this.canvas.setSize (850, 500);
\r
19 var c = this.getContentPane ();
\r
20 c.setSize (850, 500);
\r
21 c.add (this.canvas, "Center");
\r
22 c.add (this.controls = new swingjs.test.Test_2Controls (this.canvas), "North");
\r
24 Clazz.defineMethod (c$, "setSize",
\r
25 function (width, height) {
\r
26 Clazz.superCall (this, swingjs.test.Test_2, "setSize", [width, height]);
\r
29 Clazz.overrideMethod (c$, "destroy",
\r
31 this.remove (this.controls);
\r
32 this.remove (this.canvas);
\r
34 Clazz.overrideMethod (c$, "start",
\r
36 this.controls.setEnabled (true);
\r
38 Clazz.overrideMethod (c$, "stop",
\r
40 this.controls.setEnabled (false);
\r
42 Clazz.overrideMethod (c$, "processEvent",
\r
44 if (e.getID () == 201) {
\r
46 }}, "java.awt.AWTEvent");
\r
47 c$.main = Clazz.defineMethod (c$, "main",
\r
49 var f = new javax.swing.JFrame ("Tanabe-Sugano");
\r
50 var tanabe = new swingjs.test.Test_2 ();
\r
53 f.add ("Center", tanabe);
\r
55 f.setVisible (true);
\r
56 f.setDefaultCloseOperation (3);
\r
58 Clazz.overrideMethod (c$, "getAppletInfo",
\r
60 return "A d3 octahedral Tanabe-Sugano Diagram";
\r
62 c$.CalcF4T1g = Clazz.defineMethod (c$, "CalcF4T1g",
\r
64 return (15 + (3 * x1) - Math.sqrt (225 - (18 * x1) + (x1 * x1))) / 2;
\r
66 c$.CalcP4T1g = Clazz.defineMethod (c$, "CalcP4T1g",
\r
68 return (15 + (3 * x1) + Math.sqrt (225 - (18 * x1) + (x1 * x1))) / 2;
\r
70 c$.CalcG2Eg = Clazz.defineMethod (c$, "CalcG2Eg",
\r
72 return 0.0000002727 * x1 * x1 * x1 * x1 * x1 - 0.00003926 * x1 * x1 * x1 * x1 + 0.002110 * x1 * x1 * x1 - 0.05256 * x1 * x1 + 0.6345 * x1 + 17.50161;
\r
74 c$.CalcG2A1g = Clazz.defineMethod (c$, "CalcG2A1g",
\r
76 return x1 + 17.50161;
\r
78 c$.CalcG2T1g = Clazz.defineMethod (c$, "CalcG2T1g",
\r
80 return 0.0000003205 * x1 * x1 * x1 * x1 * x1 - 0.00004689 * x1 * x1 * x1 * x1 + 0.00258 * x1 * x1 * x1 - 0.06641 * x1 * x1 + 0.8232 * x1 + 17.50161;
\r
82 c$.CalcG2T2g = Clazz.defineMethod (c$, "CalcG2T2g",
\r
84 return 0.0000001933 * x1 * x1 * x1 * x1 * x1 - 0.00003336 * x1 * x1 * x1 * x1 + 0.002274 * x1 * x1 * x1 - 0.07898 * x1 * x1 + 1.557 * x1 + 17.50161;
\r
86 c$.CalcH2T2g = Clazz.defineMethod (c$, "CalcH2T2g",
\r
88 return 0.00000002443 * x1 * x1 * x1 * x1 * x1 + 0.0000002677 * x1 * x1 * x1 * x1 - 0.0003003 * x1 * x1 * x1 + 0.01745 * x1 * x1 + 0.6635 * x1 + 22.50161;
\r
90 c$.CalcH2T1g = Clazz.defineMethod (c$, "CalcH2T1g",
\r
92 return 0.00000002195 * x1 * x1 * x1 * x1 * x1 - 0.000005305 * x1 * x1 * x1 * x1 + 0.0004933 * x1 * x1 * x1 - 0.02294 * x1 * x1 + 1.570 * x1 + 22.50161;
\r
94 c$.CalcH2Eg = Clazz.defineMethod (c$, "CalcH2Eg",
\r
96 return 0.0000001881 * x1 * x1 * x1 * x1 * x1 - 0.00002683 * x1 * x1 * x1 * x1 + 0.001416 * x1 * x1 * x1 - 0.0338 * x1 * x1 + 1.3525 * x1 + 22.50161;
\r
98 c$.CalcD2T2g = Clazz.defineMethod (c$, "CalcD2T2g",
\r
100 return -7.532E-7 * x1 * x1 * x1 * x1 * x1 + 0.00009886 * x1 * x1 * x1 * x1 - 0.004352 * x1 * x1 * x1 + 0.06092 * x1 * x1 + 1.378 * x1 + 24.8951929;
\r
102 Clazz.defineMethod (c$, "processDelB",
\r
103 function (msgstr) {
\r
118 var ret = new StringBuffer ();
\r
119 var ii = msgstr.indexOf (":");
\r
120 var ll = msgstr.length;
\r
121 Delta = Double.parseDouble (msgstr.substring (0, ii).trim ());
\r
122 Bp = Double.parseDouble (msgstr.substring (ii + 1, ll).trim ());
\r
125 y2 = swingjs.test.Test_2.CalcF4T1g (x1);
\r
126 y3 = swingjs.test.Test_2.CalcP4T1g (x1);
\r
127 fE = swingjs.test.Test_2.CalcG2Eg (x1);
\r
128 fT1 = swingjs.test.Test_2.CalcG2T1g (x1);
\r
129 fT2 = swingjs.test.Test_2.CalcG2T2g (x1);
\r
130 fA1 = swingjs.test.Test_2.CalcG2A1g (x1);
\r
131 fT2b = swingjs.test.Test_2.CalcD2T2g (x1);
\r
132 fT2H = swingjs.test.Test_2.CalcH2T2g (x1);
\r
133 fEH = swingjs.test.Test_2.CalcH2Eg (x1);
\r
134 fT1H = swingjs.test.Test_2.CalcH2T1g (x1);
\r
135 var sBp = "" + Math.round (Bp);
\r
136 var va1 = "" + Math.round (y1 * Bp);
\r
137 var va2 = "" + Math.round (y2 * Bp);
\r
138 var va3 = "" + Math.round (y3 * Bp);
\r
139 var vfE = "" + Math.round (fE * Bp);
\r
140 var vfT1 = "" + Math.round (fT1 * Bp);
\r
141 var vfT2 = "" + Math.round (fT2 * Bp);
\r
142 var vfA1 = "" + Math.round (fA1 * Bp);
\r
143 var vfT2b = "" + Math.round (fT2b * Bp);
\r
144 var vfT2H = "" + Math.round (fT2H * Bp);
\r
145 var vfEH = "" + Math.round (fEH * Bp);
\r
146 var vfT1H = "" + Math.round (fT1H * Bp);
\r
147 ret.append ("B\' " + sBp + ", A " + va1 + ", " + va2 + ", " + va3 + ", F " + vfE + ", " + vfT1 + ", " + vfT2 + ", " + vfA1 + ", " + vfT2H + ", " + vfEH + ", " + vfT1H + ", " + vfT2b);
\r
148 this.canvas.start_x = 0;
\r
149 this.canvas.end_x = 50;
\r
150 this.canvas.mouseOn = true;
\r
151 this.canvas.deltaB = x1;
\r
152 this.canvas.y1 = x1;
\r
153 this.canvas.y2 = y2;
\r
154 this.canvas.y3 = y3;
\r
155 this.canvas.fE = fE;
\r
156 this.canvas.fT1 = fT1;
\r
157 this.canvas.fT2 = fT2;
\r
158 this.canvas.fA1 = fA1;
\r
159 this.canvas.fT2b = fT2b;
\r
160 this.canvas.fT2H = fT2H;
\r
161 this.canvas.fEH = fEH;
\r
162 this.canvas.fT1H = fT1H;
\r
163 this.canvas.ratio21 = y2 / y1;
\r
164 this.canvas.repaint ();
\r
165 return ret.toString ();
\r
167 Clazz.defineMethod (c$, "processRatio",
\r
168 function (msgstr) {
\r
184 var ii = msgstr.indexOf (":");
\r
185 var ll = msgstr.length;
\r
186 ratio21 = Double.parseDouble (msgstr.substring (0, ii).trim ());
\r
187 v1 = Double.parseDouble (msgstr.substring (ii + 1, ll).trim ());
\r
189 var ratioFound = false;
\r
190 var ret = new StringBuffer ();
\r
191 ret.append ("no value");
\r
192 for (x = 0; x <= 50; x++) {
\r
194 y2 = swingjs.test.Test_2.CalcF4T1g (x);
\r
195 temp_ratio21 = y2 / y1;
\r
196 if ((temp_ratio21 < ratio21) && (ratio21 > 1.192) && (ratio21 < 1.75)) {
\r
201 for (x1 = (x - 1); x1 < x; x1 += 0.02) {
\r
203 y2 = swingjs.test.Test_2.CalcF4T1g (x1);
\r
204 y3 = swingjs.test.Test_2.CalcP4T1g (x1);
\r
205 fE = swingjs.test.Test_2.CalcG2Eg (x1);
\r
206 fT1 = swingjs.test.Test_2.CalcG2T1g (x1);
\r
207 fT2 = swingjs.test.Test_2.CalcG2T2g (x1);
\r
208 fA1 = swingjs.test.Test_2.CalcG2A1g (x1);
\r
209 fT2b = swingjs.test.Test_2.CalcD2T2g (x1);
\r
210 fT2H = swingjs.test.Test_2.CalcH2T2g (x1);
\r
211 fEH = swingjs.test.Test_2.CalcH2Eg (x1);
\r
212 fT1H = swingjs.test.Test_2.CalcH2T1g (x1);
\r
213 temp_ratio21 = y2 / y1;
\r
214 if (temp_ratio21 < ratio21) {
\r
215 ret = new StringBuffer ();
\r
217 var temp = Math.round (Bp * 10);
\r
218 var tmp = String.instantialize ("" + temp);
\r
219 var Bprime = (tmp.substring (0, tmp.length - 1) + "." + tmp.substring (tmp.length - 1, tmp.length));
\r
220 y3 = swingjs.test.Test_2.CalcP4T1g (x1);
\r
221 var va1 = "" + Math.round (y1 * Bp);
\r
222 var va2 = "" + Math.round (y2 * Bp);
\r
223 var va3 = "" + Math.round (y3 * Bp);
\r
224 var vfE = "" + Math.round (fE * Bp);
\r
225 var vfT1 = "" + Math.round (fT1 * Bp);
\r
226 var vfT2 = "" + Math.round (fT2 * Bp);
\r
227 var vfA1 = "" + Math.round (fA1 * Bp);
\r
228 var vfT2b = "" + Math.round (fT2b * Bp);
\r
229 var vfT2H = "" + Math.round (fT2H * Bp);
\r
230 var vfEH = "" + Math.round (fEH * Bp);
\r
231 var vfT1H = "" + Math.round (fT1H * Bp);
\r
232 ret.append ("B\' " + Bprime + ", A " + va1 + ", " + va2 + ", " + va3 + ", F " + vfE + ", " + vfT1 + ", " + vfT2 + ", " + vfA1 + ", " + vfT2H + ", " + vfEH + ", " + vfT1H + ", " + vfT2b);
\r
233 this.canvas.start_x = 0;
\r
234 this.canvas.end_x = 50;
\r
235 this.canvas.mouseOn = true;
\r
236 this.canvas.deltaB = x1;
\r
237 this.canvas.y1 = x1;
\r
238 this.canvas.y2 = y2;
\r
239 this.canvas.y3 = y3;
\r
240 this.canvas.fE = fE;
\r
241 this.canvas.fT1 = fT1;
\r
242 this.canvas.fT2 = fT2;
\r
243 this.canvas.fA1 = fA1;
\r
244 this.canvas.fT2b = fT2b;
\r
245 this.canvas.fT2H = fT2H;
\r
246 this.canvas.fEH = fEH;
\r
247 this.canvas.fT1H = fT1H;
\r
248 this.canvas.ratio21 = y2 / y1;
\r
249 this.canvas.repaint ();
\r
250 return ret.toString ();
\r
252 }this.canvas.mouseOn = false;
\r
253 this.canvas.repaint ();
\r
254 return ret.toString ();
\r
256 c$ = Clazz.decorateAsClass (function () {
\r
258 this.bottomLeft = null;
\r
259 this.btmLeft = null;
\r
270 this.mouseOn = false;
\r
288 this.dkgreen = null;
\r
290 this.ltgrey = null;
\r
292 this.purple = null;
\r
293 this.lgreen = null;
\r
294 this.dgreen = null;
\r
295 this.copper = null;
\r
296 this.graphRec = null;
\r
297 this.outPRec = null;
\r
298 Clazz.instantialize (this, arguments);
\r
299 }, swingjs.test, "Test_2Canvas", javax.swing.JPanel, [java.awt.event.MouseListener, java.awt.event.MouseMotionListener]);
\r
300 Clazz.prepareFields (c$, function () {
\r
301 this.fb = new java.awt.Font ("Arial", 1, 18);
\r
302 this.f = new java.awt.Font ("Courier", 0, 16);
\r
303 this.dkgreen = new java.awt.Color (142, 244, 108);
\r
304 this.gold = new java.awt.Color (191, 139, 32);
\r
305 this.ltgrey = new java.awt.Color (233, 233, 233);
\r
306 this.teal = new java.awt.Color (168, 207, 251);
\r
307 this.purple = new java.awt.Color (192, 12, 255);
\r
308 this.lgreen = new java.awt.Color (82, 179, 53);
\r
309 this.dgreen = new java.awt.Color (41, 94, 28);
\r
310 this.copper = new java.awt.Color (179, 100, 13);
\r
311 this.graphRec = new java.awt.Rectangle (50, 10, 600, 460);
\r
312 this.outPRec = new java.awt.Rectangle (650, 10, 685, 360);
\r
314 Clazz.makeConstructor (c$,
\r
316 Clazz.superConstructor (this, swingjs.test.Test_2Canvas, []);
\r
317 this.setName ("Test_2Canvas");
\r
318 this.setBackground (java.awt.Color.blue);
\r
323 this.addMouseListener (this);
\r
324 this.addMouseMotionListener (this);
\r
325 this.mouseOn = false;
\r
327 Clazz.overrideMethod (c$, "paint",
\r
329 this.drawDiagram (g);
\r
330 }, "java.awt.Graphics");
\r
331 Clazz.defineMethod (c$, "redraw",
\r
333 this.lrange = range;
\r
362 Clazz.defineMethod (c$, "drawDiagram",
\r
364 this.displayGraph (g);
\r
365 }, "java.awt.Graphics");
\r
366 Clazz.defineMethod (c$, "displayGraph",
\r
369 g2.setColor (this.ltgrey);
\r
370 g2.fillRect (0, 0, this.getWidth (), this.getHeight ());
\r
371 g2.setBackground (g2.getBackground ());
\r
372 var stroke2 = new java.awt.BasicStroke (2);
\r
373 var stroke1 = new java.awt.BasicStroke (1);
\r
374 var stroke_d1 = new java.awt.BasicStroke (1, 0, 2, 0, Clazz.newFloatArray (-1, [6, 6]), 0);
\r
376 g2.clearRect (this.graphRec.x, this.graphRec.y, this.graphRec.width, this.graphRec.height);
\r
377 g2.setColor (java.awt.Color.black);
\r
378 this.bottomLeft = new java.awt.Point (this.graphRec.x, this.graphRec.y + this.graphRec.height);
\r
379 this.btmLeft = new java.awt.Point (this.outPRec.x, this.outPRec.y + this.outPRec.height);
\r
380 g2.drawLine (this.bottomLeft.x, this.bottomLeft.y, this.bottomLeft.x + this.graphRec.width, this.bottomLeft.y);
\r
381 g2.drawLine (this.bottomLeft.x, this.bottomLeft.y, this.bottomLeft.x, this.graphRec.y);
\r
382 this.xScale = (this.graphRec.width / (this.end_x - this.start_x));
\r
383 if (this.end_x < 35) {
\r
384 yDivisor = swingjs.test.Test_2.CalcD2T2g (this.end_x);
\r
385 } else yDivisor = swingjs.test.Test_2.CalcP4T1g (this.end_x);
\r
386 this.yScale = this.graphRec.height / yDivisor;
\r
387 var start_x1 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
388 var start_x2 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
389 var start_x3 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
390 var start_x4 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
391 var start_x5 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
392 var start_x6 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
393 var start_x7 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
394 var start_x8 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
395 var start_x9 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
396 var start_x10 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
397 var start_x11 = Clazz.newIntArray (-1, [(this.bottomLeft.x)]);
\r
398 var start_y1 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.start_x * this.yScale))]);
\r
399 this.$y = swingjs.test.Test_2.CalcF4T1g (this.start_x);
\r
400 var start_y2 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
401 this.$y = swingjs.test.Test_2.CalcP4T1g (this.start_x);
\r
402 var start_y3 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
403 this.$y = swingjs.test.Test_2.CalcG2Eg (this.start_x);
\r
404 var start_y4 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
405 this.$y = swingjs.test.Test_2.CalcG2T1g (this.start_x);
\r
406 var start_y5 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
407 this.$y = swingjs.test.Test_2.CalcG2T2g (this.start_x);
\r
408 var start_y6 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
409 this.$y = swingjs.test.Test_2.CalcG2A1g (this.start_x);
\r
410 var start_y7 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
411 this.$y = swingjs.test.Test_2.CalcD2T2g (this.start_x);
\r
412 var start_y8 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
413 this.$y = swingjs.test.Test_2.CalcH2T2g (this.start_x);
\r
414 var start_y9 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
415 this.$y = swingjs.test.Test_2.CalcH2T1g (this.start_x);
\r
416 var start_y10 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
417 this.$y = swingjs.test.Test_2.CalcH2Eg (this.start_x);
\r
418 var start_y11 = Clazz.newIntArray (-1, [Clazz.doubleToInt (this.bottomLeft.y - (this.yScale * this.$y))]);
\r
419 var hSlines = Clazz.doubleToInt (this.graphRec.height / this.hlines);
\r
420 var vSlines = Clazz.doubleToInt (this.graphRec.width / this.vlines);
\r
421 g2.setColor (this.ltgrey);
\r
422 g2.setStroke (stroke1);
\r
423 for (var ii = 1; ii <= this.hlines; ii++) {
\r
424 g2.drawLine (this.bottomLeft.x, this.bottomLeft.y - (ii * hSlines), this.bottomLeft.x + this.graphRec.width, this.bottomLeft.y - (ii * hSlines));
\r
426 for (var ii = 1; ii <= this.vlines; ii++) {
\r
427 g2.drawLine (this.bottomLeft.x + (ii * vSlines), this.bottomLeft.y, this.bottomLeft.x + (ii * vSlines), this.bottomLeft.y - this.graphRec.height);
\r
429 for (this.$x = this.start_x; this.$x <= this.end_x; this.$x++) {
\r
430 g2.setStroke (stroke2);
\r
431 g2.setColor (java.awt.Color.red);
\r
433 this.drawXtoY (this.$x, this.$y, start_x1, start_y1, g);
\r
434 g2.setColor (java.awt.Color.blue);
\r
435 this.$y = swingjs.test.Test_2.CalcF4T1g (this.$x);
\r
436 this.drawXtoY (this.$x, this.$y, start_x2, start_y2, g);
\r
437 g2.setColor (this.dkgreen);
\r
438 this.$y = swingjs.test.Test_2.CalcP4T1g (this.$x);
\r
439 this.drawXtoY (this.$x, this.$y, start_x3, start_y3, g);
\r
440 g2.setStroke (stroke_d1);
\r
441 g2.setColor (this.teal);
\r
442 this.$y = swingjs.test.Test_2.CalcG2Eg (this.$x);
\r
443 this.drawXtoY (this.$x, this.$y, start_x4, start_y4, g);
\r
444 g2.setColor (java.awt.Color.orange);
\r
445 this.$y = swingjs.test.Test_2.CalcG2T1g (this.$x);
\r
446 this.drawXtoY (this.$x, this.$y, start_x5, start_y5, g);
\r
447 g2.setColor (this.gold);
\r
448 this.$y = swingjs.test.Test_2.CalcG2T2g (this.$x);
\r
449 this.drawXtoY (this.$x, this.$y, start_x6, start_y6, g);
\r
450 g2.setColor (java.awt.Color.gray);
\r
451 this.$y = swingjs.test.Test_2.CalcG2A1g (this.$x);
\r
452 this.drawXtoY (this.$x, this.$y, start_x7, start_y7, g);
\r
453 g2.setColor (this.purple);
\r
454 this.$y = swingjs.test.Test_2.CalcD2T2g (this.$x);
\r
455 this.drawXtoY (this.$x, this.$y, start_x8, start_y8, g);
\r
456 g2.setColor (this.lgreen);
\r
457 this.$y = swingjs.test.Test_2.CalcH2T2g (this.$x);
\r
458 this.drawXtoY (this.$x, this.$y, start_x9, start_y9, g);
\r
459 g2.setColor (this.copper);
\r
460 this.$y = swingjs.test.Test_2.CalcH2Eg (this.$x);
\r
461 this.drawXtoY (this.$x, this.$y, start_x11, start_y11, g);
\r
462 g2.setColor (this.dgreen);
\r
463 this.$y = swingjs.test.Test_2.CalcH2T1g (this.$x);
\r
464 this.drawXtoY (this.$x, this.$y, start_x10, start_y10, g);
\r
466 g2.setStroke (stroke1);
\r
467 g2.setColor (java.awt.Color.black);
\r
468 g2.setFont (this.fb);
\r
469 var sx = this.bottomLeft.x;
\r
470 var sy = this.bottomLeft.y;
\r
471 g2.drawString ("" + this.start_x, sx, sy + 15);
\r
472 g2.drawString ("delta/B", sx + 170, sy + 15);
\r
473 g2.drawString ("C/B=4.5", sx + 345, sy + 30);
\r
474 g2.drawString ("" + this.end_x, this.graphRec.width + 35, sy + 15);
\r
475 g2.drawString ("E/B", sx - 35, this.graphRec.y + 100);
\r
476 if (this.lrange == 0) {
\r
477 g2.drawString ("4F", sx - 25, this.graphRec.y + 465);
\r
478 g2.drawString ("4P", sx - 25, this.graphRec.y + 400);
\r
479 g2.drawString ("2G", sx - 25, this.graphRec.y + 385);
\r
480 g2.drawString ("2H", sx - 25, this.graphRec.y + 370);
\r
481 g2.drawString ("2D", sx - 25, this.graphRec.y + 355);
\r
482 }if (this.mouseOn) {
\r
483 g2.setColor (java.awt.Color.black);
\r
484 this.gx = Clazz.doubleToInt (((this.deltaB - this.start_x) * this.xScale) + this.bottomLeft.x);
\r
485 g2.drawLine (this.gx, this.bottomLeft.y, this.gx, this.graphRec.y);
\r
486 g2.setFont (this.f);
\r
487 g2.drawString ("delta/B' " + this.toThreePlaces (this.deltaB), this.outPRec.x, this.outPRec.y + 15);
\r
488 g2.setColor (java.awt.Color.red);
\r
489 g2.drawString ("v1(T2g)/B' " + this.toThreePlaces (this.y1), this.outPRec.x, this.outPRec.y + 28);
\r
490 g2.setColor (java.awt.Color.blue);
\r
491 g2.drawString ("v2(T1g)/B' " + this.toThreePlaces (this.y2), this.outPRec.x, this.outPRec.y + 43);
\r
492 g2.setColor (this.dkgreen);
\r
493 g2.drawString ("v3(T1g)/B' " + this.toThreePlaces (this.y3), this.outPRec.x, this.outPRec.y + 56);
\r
494 g2.setColor (java.awt.Color.black);
\r
495 g2.drawString ("ratio v2/v1 " + this.toThreePlaces (this.ratio21), this.outPRec.x, this.outPRec.y + 70);
\r
496 g2.setColor (this.teal);
\r
497 g2.drawString ("f1 (Eg)/B' " + this.toThreePlaces (this.fE), this.outPRec.x, this.outPRec.y + 83);
\r
498 g2.setColor (java.awt.Color.orange);
\r
499 g2.drawString ("f2(T1g)/B' " + this.toThreePlaces (this.fT1), this.outPRec.x, this.outPRec.y + 98);
\r
500 g2.setColor (this.gold);
\r
501 g2.drawString ("f3(T2g)/B' " + this.toThreePlaces (this.fT2), this.outPRec.x, this.outPRec.y + 113);
\r
502 g2.setColor (java.awt.Color.gray);
\r
503 g2.drawString ("f4(A1g)/B' " + this.toThreePlaces (this.fA1), this.outPRec.x, this.outPRec.y + 128);
\r
504 g2.setColor (this.lgreen);
\r
505 g2.drawString ("f5(T2g)/B' " + this.toThreePlaces (this.fT2H), this.outPRec.x, this.outPRec.y + 143);
\r
506 g2.setColor (this.copper);
\r
507 g2.drawString ("f6(Eg)/B' " + this.toThreePlaces (this.fEH), this.outPRec.x, this.outPRec.y + 159);
\r
508 g2.setColor (this.dgreen);
\r
509 g2.drawString ("f7(T1g)/B' " + this.toThreePlaces (this.fT1H), this.outPRec.x, this.outPRec.y + 173);
\r
510 g2.setColor (this.purple);
\r
511 g2.drawString ("f8(T2g)/B' " + this.toThreePlaces (this.fT2b), this.outPRec.x, this.outPRec.y + 189);
\r
512 this.mouseOn = false;
\r
513 }}, "java.awt.Graphics");
\r
514 Clazz.defineMethod (c$, "toThreePlaces",
\r
516 var temp = Math.round ($in * 1000);
\r
517 var tmp = String.instantialize ("" + temp);
\r
518 return (tmp.substring (0, tmp.length - 3) + "." + tmp.substring (tmp.length - 3, tmp.length));
\r
520 Clazz.defineMethod (c$, "drawXtoY",
\r
521 function (x, y, screen_x, screen_y, g) {
\r
524 end_x1 = Clazz.doubleToInt (((x - this.start_x) * this.xScale) + this.bottomLeft.x);
\r
525 end_y1 = Clazz.doubleToInt (this.bottomLeft.y - (y * this.yScale));
\r
526 g.drawLine (screen_x[0], screen_y[0], end_x1, end_y1);
\r
527 screen_x[0] = end_x1;
\r
528 screen_y[0] = end_y1;
\r
529 }, "~N,~N,~A,~A,java.awt.Graphics");
\r
530 Clazz.overrideMethod (c$, "mousePressed",
\r
532 this.mouseOn = true;
\r
534 this.gx = e.getX ();
\r
535 this.deltaB = ((this.gx - this.bottomLeft.x) / this.xScale) + this.start_x;
\r
536 if ((this.deltaB >= this.start_x) && (this.deltaB <= this.end_x)) {
\r
537 this.x1 = this.deltaB;
\r
539 this.y2 = swingjs.test.Test_2.CalcF4T1g (this.x1);
\r
540 this.y3 = swingjs.test.Test_2.CalcP4T1g (this.x1);
\r
541 this.fE = swingjs.test.Test_2.CalcG2Eg (this.x1);
\r
542 this.fT1 = swingjs.test.Test_2.CalcG2T1g (this.x1);
\r
543 this.fT2 = swingjs.test.Test_2.CalcG2T2g (this.x1);
\r
544 this.fA1 = swingjs.test.Test_2.CalcG2A1g (this.x1);
\r
545 this.fT2b = swingjs.test.Test_2.CalcD2T2g (this.x1);
\r
546 this.fT2H = swingjs.test.Test_2.CalcH2T2g (this.x1);
\r
547 this.fEH = swingjs.test.Test_2.CalcH2Eg (this.x1);
\r
548 this.fT1H = swingjs.test.Test_2.CalcH2T1g (this.x1);
\r
549 this.ratio21 = this.y2 / this.y1;
\r
550 this.ratio31 = this.y3 / this.y1;
\r
551 this.ratio32 = this.y3 / this.y2;
\r
553 }}, "java.awt.event.MouseEvent");
\r
554 Clazz.overrideMethod (c$, "mouseEntered",
\r
556 }, "java.awt.event.MouseEvent");
\r
557 Clazz.overrideMethod (c$, "mouseExited",
\r
559 }, "java.awt.event.MouseEvent");
\r
560 Clazz.overrideMethod (c$, "mouseClicked",
\r
562 }, "java.awt.event.MouseEvent");
\r
563 Clazz.overrideMethod (c$, "mouseReleased",
\r
565 }, "java.awt.event.MouseEvent");
\r
566 Clazz.overrideMethod (c$, "mouseDragged",
\r
568 this.mousePressed (e);
\r
569 }, "java.awt.event.MouseEvent");
\r
570 Clazz.overrideMethod (c$, "mouseMoved",
\r
572 }, "java.awt.event.MouseEvent");
\r
573 c$ = Clazz.decorateAsClass (function () {
\r
576 this.canvas = null;
\r
582 Clazz.instantialize (this, arguments);
\r
583 }, swingjs.test, "Test_2Controls", javax.swing.JPanel, java.awt.event.ItemListener);
\r
584 Clazz.makeConstructor (c$,
\r
585 function (canvas) {
\r
586 Clazz.superConstructor (this, swingjs.test.Test_2Controls, []);
\r
587 this.setLayout ( new java.awt.FlowLayout ());
\r
588 this.setName ("T3d3Controls");
\r
589 this.canvas = canvas;
\r
591 var c = new javax.swing.JCheckBox ("test");
\r
592 c.addItemListener (this);
\r
593 c.setFont ( new java.awt.Font ("Arial", 0, 10));
\r
595 this.bg = new javax.swing.ButtonGroup ();
\r
596 this.bg0 = this.addButton (this.bg, "0-50", true);
\r
597 this.addButton (this.bg, "0-10", false);
\r
598 this.addButton (this.bg, "10-20", false);
\r
599 this.addButton (this.bg, "20-30", false);
\r
600 this.addButton (this.bg, "30-40", false);
\r
601 this.bg5 = this.addButton (this.bg, "40-50", false);
\r
602 var enableBtn = new javax.swing.JButton ("Enable");
\r
603 this.b = enableBtn;
\r
604 this.add (enableBtn);
\r
605 enableBtn.addActionListener (((Clazz.isClassDefined ("swingjs.test.Test_2Controls$1") ? 0 : swingjs.test.Test_2Controls.$Test_2Controls$1$ ()), Clazz.innerTypeInstance (swingjs.test.Test_2Controls$1, this, Clazz.cloneFinals ("enableBtn", enableBtn))));
\r
606 this.setVisible (true);
\r
607 }, "swingjs.test.Test_2Canvas");
\r
608 Clazz.defineMethod (c$, "addButton",
\r
609 function (bg, text, b) {
\r
611 bg.add (c = new javax.swing.JRadioButton (text, b));
\r
614 c.setEnabled (false);
\r
615 c.addItemListener (this);
\r
616 c.setFont ( new java.awt.Font ("Arial", 0, 10));
\r
618 }, "javax.swing.ButtonGroup,~S,~B");
\r
619 Clazz.overrideMethod (c$, "itemStateChanged",
\r
621 if (Clazz.instanceOf (e.getSource (), javax.swing.JCheckBox)) {
\r
622 System.out.println ("OK, box " + (e.getSource ()).getName () + " isSelected=" + (e.getSource ()).isSelected ());
\r
624 }if (Clazz.instanceOf (e.getSource (), javax.swing.JRadioButton) && e.getStateChange () == 1) {
\r
625 var b = (e.getItemSelectable ()).getText ();
\r
626 if (b === "0-50") {
\r
628 } else if (b === "0-10") {
\r
630 } else if (b === "10-20") {
\r
632 } else if (b === "20-30") {
\r
634 } else if (b === "30-40") {
\r
636 } else if (b === "40-50") {
\r
638 }this.canvas.redraw (this.range);
\r
639 }}, "java.awt.event.ItemEvent");
\r
640 c$.$Test_2Controls$1$ = function () {
\r
641 Clazz.pu$h(self.c$);
\r
642 c$ = Clazz.declareAnonymous (swingjs.test, "Test_2Controls$1", null, java.awt.event.ActionListener);
\r
643 Clazz.overrideMethod (c$, "actionPerformed",
\r
645 this.enableButtons (this.f$.enableBtn.getText ().equals ("Enable"));
\r
646 }, "java.awt.event.ActionEvent");
\r
647 Clazz.defineMethod (c$, "enableButtons",
\r
648 function (isEnable) {
\r
649 var x = this.b$["swingjs.test.Test_2Controls"].bg.getElements ();
\r
650 while (x.hasMoreElements ()) x.nextElement ().setEnabled (isEnable);
\r
652 this.f$.enableBtn.setText (isEnable ? "Disable" : "Enable");
\r