Ein Beispiel in Java.

Slides:



Advertisements
Ähnliche Präsentationen
programmiert April-Juni 2003 von Knut Riechmann
Advertisements

der Universität Oldenburg
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Java Beans von Raoul Schneider.
Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch
Praktikum Systementwicklung
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Programmierung grafischer Oberflächen
Java: Programmierung grafischer Oberflächen
Einfache Komponenten in SWING
MVC.
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Abstrakte Klassen.
Grafische Benutzeroberfläche
Wie überwacht man Objekte im "Alltag" ?. Indem man "Wanzen" an diese anbringt.
Ein Beispiel in Java.
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Exceptions. import java.sql.*; public class MyException{ boolean b; Statement stat; public MyException(){ b = stat.execute("xyz"); } Beim Übersetzen dieses.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Programmieren mit JAVA
1DVG3 - Eventbehandlung Eventbehandlung. DVG3 - Eventbehandlung 2 Events Events sind externe Ereignisse, die parallel zum normalen Programmablauf auftreten.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Einführung in Java1 Einführung in JAVA.
SWING DVG Swing.
SWING DVG Swing.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
Klassen 02 - Klassen.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren.
© 2005 Pohlig – Taulien: Eine GUI für die Klasse Mathematik Kurs: Come Together 1 April 2005 Eine GUI für die Klasse Mathematik.
© 2005 Pohlig – Taulien: Die Matheamatik-GUI als Applet Come Together 1 April 2005 Was ist ein Applet Ein Applet ist ein Javaprogramm, das die VM benutzt,
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Objektorientierte Modellierung
Universität zu Lübeck Institut für Informationssysteme Die Präsentationsschicht - mit Swing.
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
AWT und JFC Abstract Windowing Toolkit
Java: Programmierung grafischer Oberflächen
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Informatik – Programmierpraktikum Alexander Volodarski Gruppe 14
Erste Programme mit Java
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
CuP - Java Achzehnte (und LETZTE. ) Vorlesung : 1
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Lind 02/2005 Einführung in JAVA. Lind 02/2005 Beispiel: Mittelwert Es soll ein Programm erstellt werden, das den Mittelwert zweier reeller Zahlen berechnet.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Robuste Programme durch Ausnahmebehandlung
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
GUI Programmierung in Java Branimir Djordjevic. GUI - Wichtige Begriffe -  Die Swing-Bibliothek in Java stellt zum Beispiel die folgenden Windows zur.
Java Programme nur ein bisschen objektorientiert.
Verwendung von Graphical-User-Interfaces der Bibliothek: javax.swing.*
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Wie überwacht man Objekte im "Alltag" ?
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Grundkurs Informatik 11-13
 Präsentation transkript:

Ein Beispiel in Java

Variablen (Objekte) deklarieren import javax.swing.*; // GUI Komponente import java.awt.*; // Layouts import java.awt.event.*; // Ereignisse public class MainException2{ public static void main(String[] args) { MyFenster myf = new MyFenster(); myf.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); } class MyFenster extends JFrame { private Container mycont; private JPanel mypan; private JTextField mytZahl, mytQuadrat; private JLabel mylZahl, mylQuadrat; private JButton mybgo; private QuadratWanze myqw; Variablen (Objekte) deklarieren

public MyFenster(){ mybgo = new JButton("Go"); mytZahl = new JTextField("",6); mytQuadrat = new JTextField("",20); mylZahl = new JLabel("Zahl"); mylQuadrat = new JLabel("Das Quadrat davon ist"); mypan = new JPanel(); myqw = new QuadratWanze(this); mycont = getContentPane(); mybgo.addActionListener(myqw); mypan.add(mylZahl); mypan.add(mytZahl); mypan.add(mylQuadrat); mypan.add(mytQuadrat); mypan.add(mybgo); mycont.add(mypan); Speicher für die eben deklarierten Variablen reservieren Die Wanze myqw an das Textfeld mybgo anbringen Buttos, Textfelder, usw, an das Panel mypan montieren mit this wird das durch den Aufruf des Konstruktors MyFenster soeben erzeugte Objekt der Klasse MyFenster bezeichnet.

setTitle("Meine Zeichnung"); setLocation(30,60); setSize(600,400); setVisible(true); } public JTextField gettQuadrat(){ return(mytQuadrat); public JTextField gettZahl(){ return(mytZahl); Liefert das Objekt mytQuadrat zurück. Liefert das Objekt mytZahl zurück.

class QuadratWanze implements ActionListener { MyFenster myfVerweis; double erg; public QuadratWanze(MyFenster f) { myfVerweis = f; } public void actionPerformed (ActionEvent ae) { try{ erg = Double.parseDouble(myfVerweis. gettZahl().getText()); erg = erg * erg; myfVerweis.gettQuadrat().setText( Double.toString(erg)); catch(Throwable e){ myfVerweis.gettQuadrat().setText("Falsche Eingabe"); Schauen wir uns diese Methode genauer an In dieser Methode muss auf das Textfeld mytZahl und mytQuadrat der Klasse MyFenster zugegriffen werden. Innerhalb der Klasse QuadratWanze geht das nur, wenn sich dieses Objekt als Attribut in der Klasse QuadratWanze befindet. Aber mytZahl und mytQuadrat befinden sich nicht als Attribute in der Klasse QuadratWanze. Warum kann man trotzdem auf diese zugreifen?

class QuadratWanze implements ActionListener { MyFenster myfVerweis; double erg; public QuadratWanze(MyFenster f) { myfVerweis = f; } public void actionPerformed (ActionEvent ae) { try{ erg = Double.parseDouble(myfVerweis. gettZahl().getText()); erg = erg * erg; myfVerweis.gettQuadrat().setText( Double.toString(erg)); catch(Throwable e){ myfVerweis.gettQuadrat().setText("Falsche Eingabe"); Schauen wir uns diese Methode genauer an Weil in myfVerweis durch die Methoden gettZahl() und gettQuadrat() auf die Attribute mytZahl und mytQuadrat zugegriffen werden kann !

public void actionPerformed (ActionEvent ae) { try{ erg = Double.parseDouble(myfVerweis. gettZahl().getText()); erg = erg * erg; myfVerweis.gettQuadrat().setText( Double.toString(erg)); } catch(Throwable e){ myfVerweis.gettQuadrat().setText("Falsche Eingabe"); und verwandelt ihn in eine Zahl. Dabei kann ein Fehler auftreten (Text ist keine Zahl) wenn im try-Block ein Fehlerobjekt erzeugt (geworfen) wurde, wird es im catch-Block eingefangen und dort bearbeitet. holt den eingegeben Text aus dem Textfeld Bei der Anweisung im try-Block, bei der ein Fehler (z.B. wenn statt einer Zahl eine Zeichenkette eingegeben wurde) auftritt, wird sofort der try-Block verlassen und in die entsprechende catch-Klausel gesprungen. Dann ist die try...catch Anweisung beendet und das Programm macht bei der Anweisung weiter, die dem try...catch Block folgt.

AUFGABE: 1) Erstellen Sie einen Taschenrechner, der genau ein Textfeld hat und der nur addieren kann. Er soll genau die 2 Buttons = und + haben. 2) Implemetieren Sie einen handelsüblichen Taschenrechner.