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();
}
}