home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-12-14 | 3.4 KB | 139 lines |
- import java.awt.*;
- import java.awt.event.*;
- import java.applet.Applet;
-
- /*
- * the applet class
- */
- public class Converter extends Applet {
-
- /*
- * the "from" unit index
- */
- int fromindex = 0;
-
- /*
- * the "to" unit index
- */
- int toindex = 0;
-
- /*
- * a place to print the conversion factor
- */
- TextField textfield = new TextField(12);
-
- /*
- * where the choice lists are displayed
- */
- Panel listpanel = new Panel();
-
- /*
- * where the text field is displayed
- */
- Panel textpanel = new Panel();
- Choice unit1 = new Choice();
- Choice unit2 = new Choice();
-
- /*
- * an array of conversion factors
- */
- String values[][] = {
- {"1.000", "1.000 E-2", "1.000 E-5", "3.397 E-1", "3.937 E-2", "6.214 E-6"},
- {"1.000 E+2", "1.000", "1.000 E-3", "39.37","3.28", "6.214 E-4"},
- {"1.000 E+5", "1.000 E+3", "1.000", "3.937 E+4","3.281 E+3", "6.214 E-1"},
- {"2.54", "0.0254", "2.54 E-5", "1.000", "12.0","1.578 E-5"},
- {"30.48", "0.3048", "3.048 E-4", "12.0", "1.000","1.894 E-4"},
- {"1.609 E+5", "1.609 E+3", "1609", "6.336 E+4","5280", "1.000"}
- };
-
- /*
- * called when the applet is loaded
- * create the user interface
- */
- public void init() {
-
- textfield.setText(values[fromindex][toindex]);
- textfield.setEditable (false);
-
- this.setLayout(new BorderLayout());
- listpanel.setLayout(new FlowLayout());
- add("North", listpanel);
- add("South", textpanel);
-
- Label fromlabel = new Label ("To Convert From ",1);
- listpanel.add(fromlabel);
- unit1.addItem("Centimeters");
- unit1.addItem("Meters");
- unit1.addItem("Kilometers");
- unit1.addItem("Inches");
- unit1.addItem("Feet");
- unit1.addItem("Miles");
- listpanel.add(unit1);
-
- Label tolabel = new Label (" to ",1);
- listpanel.add(tolabel);
- unit2.addItem("Centimeters");
- unit2.addItem("Meters");
- unit2.addItem("Kilometers");
- unit2.addItem("Inches");
- unit2.addItem("Feet");
- unit2.addItem("Miles");
- listpanel.add(unit2);
-
- Label multlabel = new Label ("Multiply by ",1);
- textpanel.add(multlabel);
- textpanel.add(textfield);
-
- ItemListener1 lItem = new ItemListener1();
- unit1.addItemListener(lItem);
- unit2.addItemListener(lItem);
-
- }
-
- /**
- * called when an action event occurs
- * @param evt - the event object
- * @param arg - the target object
- */
-
- class ItemListener1 implements ItemListener
- {
- public void itemStateChanged( ItemEvent e)
- {
- fromindex = unit1.getSelectedIndex();
- toindex = unit2.getSelectedIndex();
- textfield.setText(values[fromindex][toindex]);
- repaint();
- }
- }
-
- /**
- * application entry point
- * @param args - commandline arguments
- */
-
- public static void main(String args[]) {
-
- Frame f = new Frame("Converter ");
- Converter converter = new Converter();
- converter.init();
- converter.start();
- f.addWindowListener(new WindowCloser());
-
- f.add("Center", converter);
- f.setSize(500, 100);
- f.show();
- }
- }
-
- class WindowCloser extends WindowAdapter
- {
- public void windowClosing(WindowEvent e)
- {
- Window win = e.getWindow();
- win.setVisible(false);
- win.dispose();
- System.exit(0);
- }
- }
-