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.

Slides:



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

der Universität Oldenburg
Klassen - Verkettete Liste -
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Ein Beispiel in Java.
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Programmierung grafischer Oberflächen
Java: Objektorientierte Programmierung
FH-Hof Interaktion Richard Göbel. FH-Hof Interaktion mit der Klasse Behavior Behavior-Objekte sind Knoten des Szenengraphen. Behavior-Objekte werden durch.
Java: Programmierung grafischer Oberflächen
Java: Dynamische Datentypen
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
MVC.
Wie überwacht man Objekte im "Alltag" ?. Indem man "Wanzen" an diese anbringt.
Ein Beispiel in Java.
Konstruktoren.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
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 Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
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.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
DVG Klassen und Objekte
Einführung in die Programmierung Datensammlung
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
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
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
AWT und JFC Abstract Windowing Toolkit
Java: Programmierung grafischer Oberflächen
Java und Eclipse.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Java-AG Benutzeroberflächen Juni 2001 Michael Haas.
Starten der Entwicklungsumgebung (IDE)
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 11. Vorlesung WS 2002/2003.
Java-Kurs Übung Besprechung der Hausaufgabe
Lösung der Hausaufgaben von Vorlesung 10 Universität Bonn Institut für Kartografie und Geoinformation Dipl.-Ing. Dörschlag, Dr. Gröger, Prof. Dr. Plümer.
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.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
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.
IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung.
1 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Malprogramm der vollständige und kommentierte Quellcode für.
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
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.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 10. Vorlesung WS 2002/2003.
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
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.
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.
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.
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
GUI Programmierung in Java Branimir Djordjevic. GUI - Wichtige Begriffe -  Die Swing-Bibliothek in Java stellt zum Beispiel die folgenden Windows zur.
Wie überwacht man Objekte im "Alltag" ?
Einführung in die Programmierung mit Java
Implementieren von Klassen
 Präsentation transkript:

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 Java 11. Vorlesung WS-03/04

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Die letzte Hausaufgabe Polygon.txt : 1;2.0;3.0; 2;4.0;3.0; 3;8.0;9.0; 4;7.0;10.0; 5;1.0;6.0;

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Die letzte Hausaufgabe polygon.txt einlesen public class Polygon { public void lade(String dateiname){ BufferedReader br; String line; int i = 0; try{ br = new BufferedReader(new FileReader(dateiname)); while( (line = br.readLine()) != null){ eckpunkt[i++] = new Punkt( line); } br.close(); } catch( IOException ioe){ ioe.printStackTrace(); }

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Die letzte Hausaufgabe der Konstruktor zum Zerlegen public class Punkt {... public Punkt(String line) { String[] parts = new String[3]; int first = 0, last, i = 0; while((last = line.indexOf(";", first)) != -1){ parts[i] = line.substring( first, last); i++; first = last + 1; } pnr = Integer.parseInt(parts[0]); x = Double.parseDouble(parts[1]); y = Double.parseDouble(parts[2]); }... }

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Die letzte Hausaufgabe das Polygon speichern public class Polygon {... public void write(String dateiname) { try{ PrintWriter pw = new PrintWriter( new BufferedWriter( new FileWriter(dateiname))); for( int i = 0; i < eckpunkt.length; i++){ pw.print( eckpunkt[i].gibID() + “;“); } pw.println( " "); pw.println( "Umfang des Polygons: "+String.valueOf( umfang())); pw.close(); } catch( IOException ioe){ ioe.printStackTrace(); }

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Die letzte Hausaufgabe polygon_ausgabe.txt polygon-ausgabe.txt : 1;2;3;4;5; Umfang des Polygons:

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Der Nullpointer Schlüsselwort : null Einsatz : kann jeder Referenzvariable (= Variable/Attribut von Typ einer Klasse) zugewiesen werden ist die „default“-Referenz einer Referenzvariable hat keine Methoden oder Attribute

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Der Nullpointer - Beispiel 1 zur Nutzung - public class Polygon { Punkt[ ] part = null; public void resize( int length){ if( part == null){ part = new Punkt[length]; } else{ Punkt[] neu = new Punkt[length]; if( length > part.length){ length = part.length; } for( int i = 0; i < length; i++){ neu[i] = part[i]; } part = neu; } } }

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Der Nullpointer - Beispiel 2 zur Nutzung - public class ListElement { Object wert; ListElement naechster = null; public ListElement( Object wert){ this.wert = wert; } public void fuege_an( Object wert){ ListElement weiter = this; while( weiter.naechster != null){ weiter = weiter.naechster; } weiter.naechster = new ListElement( wert); }

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Der Nullpointer - Beispiel 2 zur Nutzung - public class ListElement {... public Object gib_Wert_von( int id) throws ArrayIndexOutOfBoundsException { ListElement weiter = this; while( id > 0){ weiter = weiter.naechster; if( weiter == null){ throw( new ArrayIndexOutOfBoundsException()); } id--; } return( weiter.wert); }}

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 G raphical U ser I nterface‘s

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 eigenständige Anwendungen javax.swing.JFrame Anlegen : Über das Menü (in Forte): 1.Datei -> Neu 2.im sich öffenden Fenster „Templates“ den Ordner „Swing Forms“ öffnen und „JFrame“ auswählen und weiter mit Next 3.den Namen eingeben (, eventuell das Package (Verzeichnis) in dem die neu Klasse liegen soll auswählen) und mit Finish das Erzeugen abschließen 4.es öffnet sich automatisch die Forte-Umgebung „GUI Editing“

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 GUI Editing Explorer [Filesystem]

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 GUI Editing Source Editor Der Quellcode: Klasse.java schreib geschützter Bereich

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 GUI Editing Component Inspector zur ausgewählen Form gehörende grafische Komponenten z.B. Buttons die Eigenschaften der selektierten Komponente

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 GUI Editing Form Darstellung des Aussehens der Oberfläche GUI KomponentengruppenLayouts und Rahmen Auswahlobjekte, sie können durch anklicken des Symbols und dann anklicken des Form-Fensters der Oberfläche hinzugefügt werden

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Layout Manager Button 1 ohne Layout Manager : Anwendung Aussehen : Anwendung Hinzufügen eines Buttons Aktion :

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Layout Manager Button 2 ohne Layout Manager : Anwendung Aussehen : Anwendung Hinzufügen eines weiteren Buttons Aktion : Button 1 ungünstig !! wegen der Überlagerung von Button 1

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Layout Manager Layout Manager entscheiden über die Anordnung von Komponenten auf der zugehörigen Oberfläche java.awt.BorderLayout java.awt.GridLayout CENTER NORTH EAST SOUTH WEST [0,0][0,1] [1,0] Beispiele :

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 eine Oberfläche mit Layout java.awt.BorderLayout NORTH EAST SOUTH WEST Beispiel : Button 2 Button 1 Darstellung : Button 2 Button 1

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 das Layout bestimmen 1. neues Layout wählen 2. auf das Form-Fenster klicken aktives Layout verfügbare Layouts

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Darstellen von Text javax.swing.JLabel Der Nutzer hat keinen direkten Zugriff auf den Text 1.auf das JLabel- symbol klicken 2. auf das Form- Fenster klicken

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Eingabe und darstellen von Text javax.swing.JTextField Der Nutzer hat direkten Zugriff auf den Text 1.auf das JTextField- symbol klicken 2. auf das Form- Fenster klicken

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Komponenten als Attribute public class Beispiel extends javax.swing.JFrame { /** Creates new form Beispiel */ public Beispiel() { initComponents(); }... // Variables declaration - do not modify private javax.swing.JTextField jTextField1; // End of variables declaration } eine graphische Komponente der Konstruktor

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Komponenten als Attribute public class Beispiel extends javax.swing.JFrame {... /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() { jTextField1 = new javax.swing.JTextField();... jTextField1.setText("jTextField1"); getContentPane().add( jTextField1, java.awt.BorderLayout.CENTER); pack(); }... } Initialisieren der Oberfläche und ihrer Elemente

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Komponenten als Attribute public class Beispiel extends javax.swing.JFrame {... /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } /** args the command line arguments */ public static void main(String args[]) { new Beispiel().show(); }... } Anweisungen die beim Schließen der Oberfläche bearbeitet werden die Main-Methode zum Starten der GUI-Anwendung

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Aktionen starten javax.swing.JButton Ein Button den man drücken kann.

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 javax.swing.JButton Ereignisse (=Events) mit Aktionen verbinden Ereignis = drücken des Buttons

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 javax.swing.Jbutton ActionListener Was soll im Fall eines Ereignisses (=drücken von Button 1) gemacht werden ?? Anweisungen die ausge- führt werden

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 public class Beispiel extends javax.swing.JFrame {... /** Exit the Application */ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String text = jButton1.getText(); char[] inhalt = text.toCharArray(); text = ““; for( int i = inhalt.length - 1; i >= 0; i--){ text += inhalt[i]; } jButton1.setText( text); }... } Action auf Knopfdruck Beispiel: Knopftitel invertieren

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Reaktionen auf die Maus Beispiel: Fluchtframe Sobald die Jlabel-Komponente mit dem Mauszeiger berührt wird, soll die ganze Oberfläche flüchten

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Reaktionen auf die Maus Beispiel: Fluchtframe

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 public class Beispiel extends javax.swing.JFrame {... /** Exit the Application */ private void jLabel1MouseEntered( java.awt.event.MouseEvent evt){ java.awt.Point mouse_location = evt.getPoint(); mouse_location.translate(this.getX() + 40, this.getY() +40); this.setLocation(mouse_location); }... } Reaktionen auf die Maus Beispiel: Fluchtframe auslesen der Mausposition bestimmen der neuen Position der Anwendung verschieben der Anwendung an die neue Position

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Übungsaufgabe Buttontexter Erstelle eine Anwendung, die aus einem Textfeld für Eingaben (JTextField) und einem Knopf (JButton) besteht. Alle beide müssen gleichzeitig sichtbar sein. Auf Knopfdruck soll der Text aus dem Textfeld auf dem Button erscheinen. Probiert aus, was ihr mit den „Properties/Eigenschaften“ bei den Komponenten alles anrichten könnt.

IKG Dörschlag, Plümer, Gröger „Einführung in die Programmierung mit Java“ WS03/04 Dörschlag IKG; Dörschlag, Plümer, Gröger; Einführung in die Programmierung mit Java WS03/04 Hausaufgabe Währungsrechner Erstelle eine Anwendung, die aus einem Textfeld für Eingaben (JTextField), einem Textfeld für Anzeigen (JLabel) und einem Knopf (JButton) besteht. Alle drei müssen gleichzeitig sichtbar sein. Auf Knopfdruck soll der im Textfeld eingegebene Wert von Euro in Dollar umgerechnet und im anderen Textfeld angezeigt werden.