![]() |
Lehrer Nussbaumer - JAVA (eine kleine Einführung ;) |
|---|
GrundlagenGUIEingabeAusgabeApplikationen
AppletsServletsBeispieleSpieleIDEsSkriptumJAVA-DOCS----------------- letzte Änderung: 09 December 2021 ----------------- Lehrer Nussbaumers Seite ... in Arbeit ... |
RechnerZahlen werden als Zeichenketten in ein "TextField" eingegeben. Diese Eingaben müssen anschließend in Zahlen konvertiert werden. Nach den Rechenoperationen findet wieder eine Konversion in Zeichenketten statt, sodass die Ausgabe - beispielsweise auf einem "Label" möglich wird. Beispiel:In einem "BorderLayout" werden die Eingabezeilen und der Operator angeordnet. Das Ergebnis ist auf einem Label (hier "South") sichtbar. Die Rechenoperation wird ausgeführt, sobald der Operator-Button gedrückt wurde. Beachte, wie jedes GUI-Objekt mit dem ActionListener verbunden werden muss!
Code:import java.awt.*;
import java.awt.event.*;
public class rechner extends Frame implements ActionListener {
TextField opa;
TextField opb;
Button addbut;
Button subbut;
Button multbut;
Button divbut;
Label ergebnis;
public static void main(String arguments[]) {
rechner proggi = new rechner();
WindowListener wl = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
proggi.addWindowListener(wl);
proggi.setLocation(100,100);
proggi.resize(200,80);
proggi.show();
}
rechner() {
super("Rechner");
setLayout(new BorderLayout());
opa = new TextField("0",5);
opb = new TextField("0",5);
addbut = new Button("+");
ergebnis = new Label("ergebnis");
opa.addActionListener(this);
opb.addActionListener(this);
addbut.addActionListener(this);
add(opa,"West");
add(opb,"Center");
add(addbut, "East");
add(ergebnis, "South");
}
public double addiere( double a, double b) {
return a+b;
}
public double subtrahiere (double a, double b) {
return a-b;
}
public double multipliziere (double a, double b) {
return a*b;
}
public double dividiere (double a, double b) {
return a/b;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addbut)
ergebnis.setText(Double.toString( addiere(Double.valueOf(opa.getText()).doubleValue(),Double.valueOf(opb.getText()).doubleValue())));
if (e.getSource() == subbut)
subtrahiere(3,4);
if (e.getSource() == multbut)
multipliziere(3,4);
if (e.getSource() == divbut)
dividiere(3,4);
}
}
Kommentar:Beachte die korrekte Typ-Konvertierung! Aufgabe:Erweitere Layout und Programmcode so, dass auch die anderen Grundrechnungsarten zur Verfügung stehen! |