home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / DIGSIM.EXE / BiColorLED.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-05-21  |  1.7 KB  |  54 lines

  1. import java.awt.Color;
  2. import java.awt.Graphics;
  3.  
  4. class BiColorLED extends ElectronicComponent {
  5.    static final Color LEDColorOff;
  6.  
  7.    public BiColorLED(Pin[][] var1, int var2, int var3) {
  8.       super(var2, var3, 9, 4, 4, 1, 2, 2, 2, 0);
  9.       super.ComponentName = "Bi-color LED (Light Emitting Diode)";
  10.       super.ClassName = "Bi-Color LED";
  11.       super.IPin[0] = new InputPin("A", 1, 2, 3, 0, 0, 0, 2);
  12.       super.IPin[1] = new InputPin("B", 8, 2, -2, 0, 0, 0, 2);
  13.       ((ElectronicComponent)this).RegisterPins(var1, var2, var3);
  14.    }
  15.  
  16.    public BiColorLED(ElectronicComponent var1, int var2, int var3) {
  17.       super(var1, var2, var3);
  18.    }
  19.  
  20.    public ElectronicComponent Copy(int var1, int var2) {
  21.       BiColorLED var3 = new BiColorLED(this, var1, var2);
  22.       return var3;
  23.    }
  24.  
  25.    public void draw(Graphics var1, int var2, int var3, int var4) {
  26.       super.draw(var1, var2, var3, var4);
  27.       int var5 = super.Pos.x - var2;
  28.       int var6 = super.Pos.y - var3;
  29.       ((ElectronicComponent)this).DrawInputPins(var1, var5, var6, var4);
  30.       if (super.IPin[0].getLevel() == 5 && super.IPin[1].getLevel() == 0) {
  31.          var1.setColor(Color.red);
  32.       } else if (super.IPin[0].getLevel() == 0 && super.IPin[1].getLevel() == 5) {
  33.          var1.setColor(Color.green);
  34.       } else {
  35.          var1.setColor(LEDColorOff);
  36.       }
  37.  
  38.       var1.fillOval((var5 + 4) * var4, (var6 + 1) * var4, 2 * var4 + 1, 2 * var4 + 1);
  39.       var1.setColor(Color.white);
  40.       var1.drawOval((var5 + 4) * var4, (var6 + 1) * var4, 2 * var4, 2 * var4);
  41.    }
  42.  
  43.    public void InitBeforeSimulate() {
  44.       super.IPin[0].InitBeforeSimulate();
  45.       super.IPin[1].InitBeforeSimulate();
  46.       super.IPin[0].setLevel(-1);
  47.       super.IPin[1].setLevel(-1);
  48.    }
  49.  
  50.    static {
  51.       LEDColorOff = Color.gray;
  52.    }
  53. }
  54.