home *** CD-ROM | disk | FTP | other *** search
/ MACD 4 / MACD4.iso / Internet / Java / ui / overview / example / ConversionPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1978-03-06  |  3.1 KB  |  121 lines

  1. import java.awt.Choice;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Graphics;
  7. import java.awt.GridBagConstraints;
  8. import java.awt.GridBagLayout;
  9. import java.awt.Insets;
  10. import java.awt.Label;
  11. import java.awt.Panel;
  12. import java.awt.Scrollbar;
  13. import java.awt.TextField;
  14.  
  15. class ConversionPanel extends Panel {
  16.    TextField textField;
  17.    Scrollbar slider;
  18.    Choice unitChooser;
  19.    int min;
  20.    int max = 10000;
  21.    Converter controller;
  22.    Unit[] units;
  23.  
  24.    ConversionPanel(Converter var1, String var2, Unit[] var3) {
  25.       GridBagConstraints var4 = new GridBagConstraints();
  26.       GridBagLayout var5 = new GridBagLayout();
  27.       ((Container)this).setLayout(var5);
  28.       this.controller = var1;
  29.       this.units = var3;
  30.       var4.fill = 2;
  31.       Label var6 = new Label(var2, 1);
  32.       var4.gridwidth = 0;
  33.       var5.setConstraints(var6, var4);
  34.       ((Container)this).add(var6);
  35.       this.textField = new TextField("0", 10);
  36.       var4.weightx = (double)1.0F;
  37.       var4.gridwidth = 1;
  38.       var5.setConstraints(this.textField, var4);
  39.       ((Container)this).add(this.textField);
  40.       this.unitChooser = new Choice();
  41.  
  42.       for(int var7 = 0; var7 < this.units.length; ++var7) {
  43.          this.unitChooser.addItem(this.units[var7].description);
  44.       }
  45.  
  46.       var4.weightx = (double)0.0F;
  47.       var4.gridwidth = 0;
  48.       var5.setConstraints(this.unitChooser, var4);
  49.       ((Container)this).add(this.unitChooser);
  50.       this.slider = new Scrollbar(0, 0, 100, this.min, this.max);
  51.       var4.gridwidth = 1;
  52.       var5.setConstraints(this.slider, var4);
  53.       ((Container)this).add(this.slider);
  54.    }
  55.  
  56.    double getMultiplier() {
  57.       int var1 = this.unitChooser.getSelectedIndex();
  58.       return this.units[var1].multiplier;
  59.    }
  60.  
  61.    public void paint(Graphics var1) {
  62.       Dimension var2 = ((Component)this).size();
  63.       var1.drawRect(0, 0, var2.width - 1, var2.height - 1);
  64.    }
  65.  
  66.    public Insets insets() {
  67.       return new Insets(5, 5, 5, 8);
  68.    }
  69.  
  70.    double getValue() {
  71.       double var1;
  72.       try {
  73.          var1 = Double.valueOf(this.textField.getText());
  74.       } catch (NumberFormatException var3) {
  75.          var1 = (double)0.0F;
  76.       }
  77.  
  78.       return var1;
  79.    }
  80.  
  81.    public boolean action(Event var1, Object var2) {
  82.       if (var1.target instanceof TextField) {
  83.          this.setSliderValue(this.getValue());
  84.          this.controller.convert(this);
  85.          return true;
  86.       } else if (var1.target instanceof Choice) {
  87.          this.controller.convert(this);
  88.          return true;
  89.       } else {
  90.          return false;
  91.       }
  92.    }
  93.  
  94.    public boolean handleEvent(Event var1) {
  95.       if (var1.target instanceof Scrollbar) {
  96.          this.textField.setText(String.valueOf(this.slider.getValue()));
  97.          this.controller.convert(this);
  98.       }
  99.  
  100.       return super.handleEvent(var1);
  101.    }
  102.  
  103.    void setValue(double var1) {
  104.       this.setSliderValue(var1);
  105.       this.textField.setText(String.valueOf(var1));
  106.    }
  107.  
  108.    void setSliderValue(double var1) {
  109.       int var3 = (int)var1;
  110.       if (var3 > this.max) {
  111.          var3 = this.max;
  112.       }
  113.  
  114.       if (var3 < this.min) {
  115.          var3 = this.min;
  116.       }
  117.  
  118.       this.slider.setValue(var3);
  119.    }
  120. }
  121.