1 Clazz.declarePackage ("swingjs.test.converter");
\r
2 Clazz.load (["javax.swing.JApplet", "swingjs.test.converter.ConverterRangeModel"], "swingjs.test.converter.Converter", ["java.awt.Color", "$.Dimension", "javax.swing.BorderFactory", "$.Box", "$.BoxLayout", "$.JPanel", "$.UIManager", "swingjs.test.converter.ConversionPanel", "$.FollowerRangeModel", "$.Unit"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.metricPanel = null;
\r
5 this.usaPanel = null;
\r
6 this.metricDistances = null;
\r
7 this.usaDistances = null;
\r
8 this.dataModel = null;
\r
9 this.mainPane = null;
\r
10 Clazz.instantialize (this, arguments);
\r
11 }, swingjs.test.converter, "Converter", javax.swing.JApplet);
\r
12 Clazz.prepareFields (c$, function () {
\r
13 this.metricDistances = new Array (3);
\r
14 this.usaDistances = new Array (4);
\r
15 this.dataModel = new swingjs.test.converter.ConverterRangeModel ();
\r
17 Clazz.makeConstructor (c$,
\r
19 Clazz.superConstructor (this, swingjs.test.converter.Converter, []);
\r
20 this.metricDistances[0] = new swingjs.test.converter.Unit ("Centimeters", 0.01);
\r
21 this.metricDistances[1] = new swingjs.test.converter.Unit ("Meters", 1.0);
\r
22 this.metricDistances[2] = new swingjs.test.converter.Unit ("Kilometers", 1000.0);
\r
23 this.metricPanel = new swingjs.test.converter.ConversionPanel (this, "Metric System", this.metricDistances, this.dataModel);
\r
24 this.usaDistances[0] = new swingjs.test.converter.Unit ("Inches", 0.0254);
\r
25 this.usaDistances[1] = new swingjs.test.converter.Unit ("Feet", 0.305);
\r
26 this.usaDistances[2] = new swingjs.test.converter.Unit ("Yards", 0.914);
\r
27 this.usaDistances[3] = new swingjs.test.converter.Unit ("Miles", 1613.0);
\r
28 this.usaPanel = new swingjs.test.converter.ConversionPanel (this, "U.S. System", this.usaDistances, new swingjs.test.converter.FollowerRangeModel (this.dataModel));
\r
29 this.mainPane = new javax.swing.JPanel ();
\r
30 this.mainPane.setLayout ( new javax.swing.BoxLayout (this.mainPane, 3));
\r
32 this.mainPane.setOpaque (true);
\r
33 this.mainPane.setBackground ( new java.awt.Color (255, 0, 0));
\r
34 }this.mainPane.setBorder (javax.swing.BorderFactory.createEmptyBorder (5, 5, 5, 5));
\r
35 this.mainPane.add (javax.swing.Box.createRigidArea ( new java.awt.Dimension (0, 5)));
\r
36 this.mainPane.add (this.metricPanel);
\r
37 this.mainPane.add (javax.swing.Box.createRigidArea ( new java.awt.Dimension (0, 5)));
\r
38 this.mainPane.add (this.usaPanel);
\r
39 this.mainPane.add (javax.swing.Box.createGlue ());
\r
40 this.resetMaxValues (true);
\r
42 Clazz.defineMethod (c$, "resetMaxValues",
\r
43 function (resetCurrentValues) {
\r
44 var metricMultiplier = this.metricPanel.getMultiplier ();
\r
45 var usaMultiplier = this.usaPanel.getMultiplier ();
\r
46 var maximum = 10000;
\r
47 if (metricMultiplier > usaMultiplier) {
\r
48 maximum = Clazz.doubleToInt (10000 * (usaMultiplier / metricMultiplier));
\r
49 }this.dataModel.setMaximum (maximum);
\r
50 if (resetCurrentValues) {
\r
51 this.dataModel.setDoubleValue (maximum);
\r
53 c$.initLookAndFeel = Clazz.defineMethod (c$, "initLookAndFeel",
\r
55 var lookAndFeel = null;
\r
56 if (swingjs.test.converter.Converter.LOOKANDFEEL != null) {
\r
57 if (swingjs.test.converter.Converter.LOOKANDFEEL.equals ("Metal")) {
\r
58 lookAndFeel = javax.swing.UIManager.getCrossPlatformLookAndFeelClassName ();
\r
59 } else if (swingjs.test.converter.Converter.LOOKANDFEEL.equals ("System")) {
\r
60 lookAndFeel = javax.swing.UIManager.getSystemLookAndFeelClassName ();
\r
61 } else if (swingjs.test.converter.Converter.LOOKANDFEEL.equals ("Motif")) {
\r
62 lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
\r
63 } else if (swingjs.test.converter.Converter.LOOKANDFEEL.equals ("GTK+")) {
\r
64 lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
\r
66 System.err.println ("Unexpected value of LOOKANDFEEL specified: " + swingjs.test.converter.Converter.LOOKANDFEEL);
\r
67 lookAndFeel = javax.swing.UIManager.getCrossPlatformLookAndFeelClassName ();
\r
69 javax.swing.UIManager.setLookAndFeel (lookAndFeel);
\r
71 if (Clazz.exceptionOf (e$$, ClassNotFoundException)) {
\r
74 System.err.println ("Couldn't find class for specified look and feel:" + lookAndFeel);
\r
75 System.err.println ("Did you include the L&F library in the class path?");
\r
76 System.err.println ("Using the default look and feel.");
\r
78 } else if (Clazz.exceptionOf (e$$, javax.swing.UnsupportedLookAndFeelException)) {
\r
81 System.err.println ("Can't use the specified look and feel (" + lookAndFeel + ") on this platform.");
\r
82 System.err.println ("Using the default look and feel.");
\r
84 } else if (Clazz.exceptionOf (e$$, Exception)) {
\r
87 System.err.println ("Couldn't get specified look and feel (" + lookAndFeel + "), for some reason.");
\r
88 System.err.println ("Using the default look and feel.");
\r
89 e.printStackTrace ();
\r
96 Clazz.overrideMethod (c$, "init",
\r
98 this.resize (300, 170);
\r
99 this.createAndShowGUI ();
\r
101 Clazz.defineMethod (c$, "createAndShowGUI",
\r
103 swingjs.test.converter.Converter.initLookAndFeel ();
\r
104 var converter = new swingjs.test.converter.Converter ();
\r
105 converter.mainPane.setOpaque (true);
\r
106 this.add (converter.mainPane);
\r
108 Clazz.defineStatics (c$,
\r
109 "MULTICOLORED", false,
\r
110 "LOOKANDFEEL", null);
\r