Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.

Slides:



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

der Universität Oldenburg
der Universität Oldenburg
Ein Beispiel in Java.
Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch
Praktikum Systementwicklung
Java: Programmierung grafischer Oberflächen
Java: Programmierung grafischer Oberflächen
Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D
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.
Grafische Benutzeroberfläche
Wie überwacht man Objekte im "Alltag" ?. Indem man "Wanzen" an diese anbringt.
Ein Beispiel in Java.
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung X1 Sitzung X1: Packages & Wiederholung.
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
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
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
1DVG3 - Eventbehandlung Eventbehandlung. DVG3 - Eventbehandlung 2 Events Events sind externe Ereignisse, die parallel zum normalen Programmablauf auftreten.
DVG3 - Bilder IMAGES (Bilder) Vortrag : Ronny Kuhnert am 9. November 1999.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG A bstract W indow T oolkit. DVG Als standardisierte portable Grafikschnittstelle existiert in JAVA das Package AWT - Abstract Window.
DVG Einführung in Java1 Einführung in JAVA.
EDV Swing1 Swing. EDV Swing 2 Swing - AWT AWT passt sein L&F der Umgebung automatisch an. Swing kann sein L&F selbst verändern, auch zur.
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.
06-EMMA-GUI Das EMMA-GUI. 06-EMMA-GUI 2 Aufteilung des Bildes (Applikation) Menü - Balken Dateiwerkzeuge Zeichenwerkzeuge Meldungen, Informationen, Fehler.
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: 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 6 Sitzung 6: Model-View-Controller als Grundlage.
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
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik 1 Thema 21: GUI und verschachtelte.
Applets Java für’s Web.
Programmiermethodik Übung 6
Java: Programmierung grafischer Oberflächen
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Informatik – Programmierpraktikum Alexander Volodarski Gruppe 14
Komponentenschnittstellen (1)
Programmierpraktikum Java SS 2005
Java-AG Benutzeroberflächen Juni 2001 Michael Haas.
Learning By Doing Ereignissteuerung (Events) prozedural ereignisgesteuert Unterprogrammaufruf an fest codierter Stelle Wann immer der Event auftritt, führe.
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.
© 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)
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.
Abstract Windowing Toolkit
Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Programmiermethodik Übung 7
 Präsentation transkript:

Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard

Geosoftware I – Lars Bernard Input/Output in Java View und Controller der GUI-Komponenten erscheinen dem Anwender als Einheit package java.io: allg. Datenströme package java.awt: alte GUI-Komponenten (abstract window toolkit) package javax.swing: neue GUI-Komponenten package java.awt.event: Event-Handling

Geosoftware I – Lars Bernard GUI-Konzepte in Java Container (Frame, Panel, Window): nehmen alle Komponenten auf sind selbst Komponenten, können also verschachtelt werden sind für Darstellung der Components zuständig Components : Steuerelemente (Buttons, Menus & MenuItems) Editierbare Informationen (TextFields, TextAreas) Nicht-editierbare Informationen (Lists, CheckBoxes, Choices) Zeichenflächen (Canvas) LayoutManager (FlowLayout, GridLayout,...): werden Containern zugewiesen sind für die Anordnung der Components zuständig EventHandling-Klassen (Listener, Events): Interaktion des AWT-Threads mit dem restlichen Programm

Geosoftware I – Lars Bernard Swing Components Top Level Container Intermediate Container JFrame.getContentPane() Components

Geosoftware I – Lars Bernard Swing Components To the Tutorial

Geosoftware I – Lars Bernard Beispiel für eine GUI mit Swing class GISFrame extends JFrame { GISFrame(String s) { super(s); // get Container Container contentPane = getContentPane(); // use a layout contentPane.setLayout (new GridLayout(0,1)); // create & add atomic component: JButton button1 = new JButton("click1"); contentPane.add(button1); // Menu is set directly to the frame: JMenuBar mBar = new JMenuBar(); JMenu fileMenu = new JMenu("File"); JMenuItem itemNew = new JMenuItem("New"); fileMenu.add(itemNew); mBar.add(fileMenu); setJMenuBar(mBar); }

Geosoftware I – Lars Bernard Beispiel für eine GUI mit Swing public class TestGUI { public static void main(String[] args) { GISFrame testFrame = new GISFrame("TestGUI"); testFrame.pack(); testFrame.setVisible(true); }

Geosoftware I – Lars Bernard Beispiel für eine GUI mit Swing

Geosoftware I – Lars Bernard Java Event Handling Die Art der Behandlung der typischen Events ist durch entsprechende AWT-Interface-Klassen vorgegeben ( MouseListener, TextListener. Hier wird also dynamische Bindung intensiv genutzt. Für die eigenen Event-Behandlungen müssen diese Interfaces implementiert werden. Adapter-Klassen sind Hilfsklassen, die ein Standard- Verhalten definieren und für eigene Event-Behandlungen spezialisiert werden können

Geosoftware I – Lars Bernard Java Event Handling – Prinzip 1. Betriebssystem sendet ein Ereignis (Mausklick links, Enter-Taste, Fenster schließen...) an die aktuell fokussierte Anwendung (unser Java-Programm) 2. Anwendung sendet das Ereignis an die betroffene Komponente weiter (Button, MenuBar,...) 3. Komponente informiert alle registrierten Listener über das Ereignis MouseListener KeyListener Die Listener-Klassen einer Komponente fangen Events auf und reagieren auf sie WindowListener

Geosoftware I – Lars Bernard Java Event Handling Ein Listener für das Schließen des Fensters: class MyWindowListener extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } … // und so wird dieser an den Frame gehängt: testFrame.addWindowListener(new GISWindowListener()); … Einsatz von Adaptern erspart die sonst notwendige Implementierung des Interfaces.

Geosoftware I – Lars Bernard Java Event Handling Ein Listener für einen Button: class GISButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("test") ; } … // und so wird dieser im Frame an den Button gehängt: button1.addActionListener(new GISButtonListener()); … Listener werden idR. als interne Klassen von Frames ralisiert.

Geosoftware I – Lars Bernard Zu Aufgabe 5 Bilden Sie 2-er Gruppen Zusammenführen der TestGUI Überlegen Sie genau, wie das Design der Klasse Model aussehen muss – dokumentieren Sie den Code ausreichend ! Das Design Klasse Model (= die Methoden- signaturen und Attribute) sollte in der nächsten Sitzung stehen. In der nächsten Aufgabe wird dann das fehlende V in MVC ergänzt…