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!");
};
}