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! |