Gemischte Schaltungen 3

 

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

 

public class und4e extends Applet

{

  // private Klasse objekt;

 

    private Undm4e und1;

    private Oderm3e oder1;

    private Oderm3e oder2;

    private Oderm3e oder3;

    private Oderm3e oder4;

    private Nicht nicht1;

    private Nicht nicht2;

    private Nicht nicht3;

    boolean a=false,b=false,c=false;

 

    public void init()

     { try

         {jbInit();}

            catch(Exception e)

           {e.printStackTrace();}

      }

 

    private void jbInit() throws Exception

      {

        // objekt1 = new Klasse();

       und1 =new Undm4e();

       oder1=new Oderm3e();

       oder2=new Oderm3e();

       oder3=new Oderm3e();

       oder4=new Oderm3e();

       nicht1=new Nicht();

       nicht2=new Nicht();

       nicht3=new Nicht();

 

    A.setLabel("0");

    A.setBounds(new Rectangle(20, 83, 27, 25));

    A.addActionListener(new und4e_A_actionAdapter(this));

    this.setLayout(null);

    this.setBackground(Color.white);

    B.setLabel("0");

    B.setBounds(new Rectangle(45, 83, 27, 25));

    B.addActionListener(new und4e_B_actionAdapter(this));

 

    C.setLabel("0");

    C.setBounds(new Rectangle(70, 83, 27, 25));

    C.addActionListener(new und4e_C_actionAdapter(this));

 

    label1.setText("label1");

    label1.setBounds(new Rectangle(168, 82, 24, 21));

    label2.setBounds(new Rectangle(193, 82, 24, 21));

    label2.setText("label1");

    label3.setBounds(new Rectangle(217, 82, 24, 21));

    label3.setText("label1");

    label4.setBounds(new Rectangle(435, 114, 24, 21));

    label4.setText("label1");

    label5.setBounds(new Rectangle(436, 199, 24, 21));

    label5.setText("label1");

    label6.setBounds(new Rectangle(444, 296, 24, 21));

    label6.setText("label1");

    label7.setBounds(new Rectangle(444, 396, 24, 21));

    label7.setText("label1");

    label8.setBounds(new Rectangle(618, 254, 24, 21));

    label8.setText("label1");

    this.add(A, null);

    this.add(B, null);

    this.add(C, null);

    this.add(label8, null);

    this.add(label2, null);

    this.add(label3, null);

    this.add(label1, null);

    this.add(label6, null);

    this.add(label7, null);

    this.add(label5, null);

    this.add(label4, null);

      }

 

       public void paint(Graphics g)

         {

           // g.drawImage(getImage (getDocumentBase(),"Name des Bildes"),x,y,Breite,Hoehe,this);

              g.drawImage(getImage (getDocumentBase(),"gemSchalt3a.jpg"),5,5,723,600,this);

              verarbeiten();

         }

      private void verarbeiten()

      {

          // Anweisungen;

             nicht1.setE1(a);

             nicht2.setE1(b);

             nicht3.setE1(c);

 

             oder1.setE1(a);

             oder1.setE2(nicht2.getA());

             oder1.setE3(nicht3.getA());

 

             oder2.setE1(nicht1.getA());

             oder2.setE2(b);

             oder2.setE3(nicht3.getA());

 

             oder3.setE1(nicht1.getA());

             oder3.setE2(nicht2.getA());

             oder3.setE3(c);

 

             oder4.setE1(nicht3.getA());

             oder4.setE2(nicht2.getA());

             oder4.setE3(nicht1.getA());

 

             und1.setE1(oder1.getA());

             und1.setE2(oder2.getA());

             und1.setE3(oder3.getA());

             und1.setE4(oder4.getA());

        

             if (nicht1.getA() == true)

             label1.setText(" 1");

             else

             label1.setText(" 0");

             if (nicht2.getA() == true)

             label2.setText(" 1");

             else

             label2.setText(" 0");

             if (nicht3.getA() == true)

             label3.setText(" 1");

             else

             label3.setText(" 0");

 

           if (oder4.getA() == true)

             label7.setText(" 1");

           else

             label7.setText(" 0");

 

           if (oder1.getA() == true)

             label4.setText(" 1");

           else

             label4.setText(" 0");

 

           if (oder2.getA() == true)

             label5.setText(" 1");

           else

             label5.setText(" 0");

 

           if (oder3.getA() == true)

             label6.setText(" 1");

          else

             label6.setText(" 0");

 

      }

     

 

   

     

  Button A = new Button();

  Button B = new Button();

  Button C = new Button();

  Label label1 = new Label();

  Label label2 = new Label();

  Label label3 = new Label();

  Label label4 = new Label();

  Label label5 = new Label();

  Label label6 = new Label();

  Label label7 = new Label();

  Label label8 = new Label();

 

  void A_actionPerformed(ActionEvent e) {

 

    a=!a;

 

    if(a==true){

    A.setBackground(Color.green);

    A.setLabel("  1");

    }

   else{

   A.setBackground(Color.red);

   A.setLabel("  0");

   }

    verarbeiten();

    if(und1.getA()==true){

    label8.setBackground(Color.green);

    label8.setText("  1");

    }

    else{

    label8.setBackground(Color.red);

    label8.setText("  0");

    }  }

 

  void B_actionPerformed(ActionEvent e) {

 

    b=!b;

    if(b==true){

    B.setBackground(Color.green);

    B.setLabel("  1");

    }

    else{

    B.setBackground(Color.red);

    B.setLabel("  0");

    }

    verarbeiten();

    if(und1.getA()==true){

    label8.setBackground(Color.green);

    label8.setText("  1");

    }

    else{

    label8.setBackground(Color.red);

    label8.setText("  0");

    }  }

  void C_actionPerformed(ActionEvent e) {

    c=!c;

    if(c==true){

      C.setBackground(Color.green);

      C.setLabel("  1");

    }

    else{

      C.setBackground(Color.red);

      C.setLabel("  0");

    }

    verarbeiten();

    if(und1.getA()==true){

    label8.setBackground(Color.green);

    label8.setText("  1");

    }

    else{

    label8.setBackground(Color.red);

    label8.setText("  0");

    }

}

class und4e_A_actionAdapter implements java.awt.event.ActionListener {

  und4e adaptee;

  und4e_A_actionAdapter(und4e adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.A_actionPerformed(e);

 }}

class und4e_B_actionAdapter implements java.awt.event.ActionListener {

  und4e adaptee;

  und4e_B_actionAdapter(und4e adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.B_actionPerformed(e);

}}

class und4e_C_actionAdapter implements java.awt.event.ActionListener {

  und4e adaptee;

  und4e_C_actionAdapter(und4e adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.C_actionPerformed(e);

  }

}}

 

Nicht Klasse

 

public class Nicht {

  private boolean e1,a;

  public Nicht()  {

    e1 = a = false;

  }

  public void setE1( boolean wert )  {

    e1 = wert;

    a =  !e1;

  }

  public boolean getA()  {

    return a;

  }

  public boolean getE1()  {

  return e1;

  }

}

 

Oder Klasse

 

public class Oder {

  private boolean e1,e2,a;

  public Oder()  {

    e1 = e2 = a = false;

  }

  public void setE1( boolean wert )  {

    e1 = wert;

    a = e1 || e2;

  }

  public void setE2( boolean wert )  {

    e2 = wert;

    a = e1 || e2;

  }

  public boolean getA()  {

    return a;

  }

  public boolean getE1()  {

  return e1;

  }

  public boolean getE2()  {

  return e2;

  }

}

 

Klasse Oder mit drei Eingängen

 

public class Oderm3e{

  private boolean e1, e2, e3, a;

  private Oder oder1;

  private Oder oder2;

  public Oderm3e()  {

    e1 = e2 = e3 =  a = false;

    oder1 = new Oder();

    oder2 = new Oder();

  }

  public void setE1( boolean wert )  {

    e1=wert;

    oder1.setE1(e1);

  }

  public void setE2( boolean wert )  {

    e2=wert;

    oder1.setE2(e2);

  }

  public void setE3( boolean wert )  {

    e3=wert;

  }

  public boolean getA()  {

  oder2.setE1(oder1.getA());

  oder2.setE2(e3);

  return oder2.getA();

  }

}

 

Und Klasse

 

 

public class Und {

  private boolean e1,e2,a;

  public Und()  {

    e1 = e2 = a = false;

  }

  public void setE1( boolean wert )  {

    e1 = wert;

    a = e1 && e2;

  }

  public void setE2( boolean wert )  {

    e2 = wert;

    a = e1 && e2;

  }

  public boolean getA()  {

    return a;

  }

  public boolean getE1()  {

  return e1;

  }

  public boolean getE2()  {

    return e2;

  }

}

 

Klasse Und mit 4 Eingängen

 

 

public class Undm4e{

 

  private boolean e1, e2, e3, e4, a;

  private Und und1;

  private Und und2;

  private Und und3;

 

  public Undm4e()  {

    e1 = e2 = e3 = e4 =  a = false;

    und1 = new Und();

    und2 = new Und();

    und3 = new Und();

 

  }

  public void setE1( boolean wert )  {

    e1=wert;

    und1.setE1(e1);

  }

  public void setE2( boolean wert )  {

    e2=wert;

    und1.setE2(e2);

  }

  public void setE3( boolean wert )  {

    e1=wert;

    und2.setE1(e1);

  }

  public void setE4( boolean wert )  {

    e2=wert;

    und2.setE2(e2);

  }

  public boolean getA()  {

  und3.setE1(und1.getA());

  und3.setE2(und2.getA());

  return und3.getA();

  }

}