siehe http://mylinux.rmz.uni-lueneburg.de/fernuni/java/sitzung16_5.html
import java.awt.*;
import java.awt.event.*;
public class Rechner extends Frame {
private BorderLayout borderLayout1 = new BorderLayout();
Taste p= new Taste("1",this);
Anzeige anzeige= new Anzeige();
Ziffernpanel zf= new Ziffernpanel(this);
Operatorpanel op= new Operatorpanel(this);
int op1=0;
int op2=0;
String operation="";
/*
* AWT-Komponenten fuer Eingabetextfeld, Zifferntasten, Operatortasten sowie
* Ziffernpanel und Operatorpanel deklarieren und soweit moeglich bereits
* zugehoerige Objekte erzeugen
*/
public Rechner() {
/* Ggf. lokale Variablen deklarieren */
/* Layout fuer Frame festlegen */
this.setLayout(borderLayout1);
this.setSize(150, 200);
this.setLocation(100, 100);
this.setBackground(Color.gray);
this.add(anzeige, BorderLayout.NORTH);
this.add(zf, BorderLayout.CENTER);
this.add(op, BorderLayout.SOUTH);
/* FlowLayout fuer Ziffern- und Operatorpanel setzen */
/* Zifferntasten ggf. erzeugen und in Ziffernpanel einfuegen */
/* Operatortasten ggf. erzeugen und in Operatorpanel einfuegen */
/* Objekte in Frame plazieren */
// this.add(...);
/* ... */
}
/* ... */
public static void main(String argv[]) {
Rechner rechner = new Rechner();
rechner.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
rechner.setVisible(true);
}
}
import java.awt.*;
class Anzeige extends TextField{ String value; Anzeige(){ super(); } }
import java.awt.*;
class Ziffernpanel extends Panel{ Ziffernpanel(Rechner akt_rechner){ FlowLayout flowLayout1 = new FlowLayout(); Taste[] arr_taste= new Taste[10]; this.setLayout(flowLayout1); for (int i=0;i<10 ;i++ ) { arr_taste[i]= new Taste(Integer.toString(i),akt_rechner); this.add(arr_taste[i]); arr_taste[i].setVisible(true); } // end of for } }
import java.awt.*;
class Operatorpanel extends Panel{ Operatorpanel(Rechner akt_rechner){ FlowLayout flowLayout1 = new FlowLayout(); Taste[] arr_taste= new Taste[4]; this.setLayout(flowLayout1); arr_taste[0]= new Taste("+",akt_rechner); arr_taste[1]= new Taste("-",akt_rechner); arr_taste[2]= new Taste("*",akt_rechner); arr_taste[3]= new Taste("=",akt_rechner); for (int i=0;i<4 ;i++ ) { this.add(arr_taste[i]); arr_taste[i].setVisible(true); } // end of for } }
import java.awt.*; import java.awt.event.*;
class Taste extends Button{ String value; Taste(String zeichen, Rechner akt_rechner) { super(zeichen); this.value=zeichen; this.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { if (value=="+" || value=="-" || value=="*") { akt_rechner.op1= Integer.parseInt(akt_rechner.anzeige.getText()); akt_rechner.anzeige.setText(""); akt_rechner.operation=value; } // end of if else if (value=="="){ akt_rechner.op2= Integer.parseInt(akt_rechner.anzeige.getText()); int erg=0; if (akt_rechner.operation=="+") { erg= akt_rechner.op1+akt_rechner.op2; } // end of if if (akt_rechner.operation=="-") { erg= akt_rechner.op1-akt_rechner.op2; } // end of if if (akt_rechner.operation=="*") { erg= akt_rechner.op1*akt_rechner.op2; } // end of if akt_rechner.anzeige.setText(""+erg); } // end of if-else else { akt_rechner.anzeige.setText(akt_rechner.anzeige.getText()+value ); } // end of if-else } }); } }
public class Main { public static void main(String[] args) { Tier ente = new Ente(); Tier baer = new Baer(); ente.gibLaut(); baer.gibLaut(); } }
abstract class Tier{
String tierart;
abstract public void gibLaut();
}
class Ente extends Tier{
Ente(){
tierart="Ente";
}
public void gibLaut(){
System.out.println("Nak! Nak!");
};
} class Baer extends Tier{
Baer(){
tierart="Baer";
}
public void gibLaut(){
System.out.println("Brumm!");
};
}