Graphische Benutzungsoberflächen



Ähnliche Dokumente
Objektorientierte Software-Entwicklung

Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Java: Vererbung. Teil 3: super()

GRAFISCHE BENUTZERSCHNITTSTELLEN

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Java Projekt: Tic Tac Toe + GUI

Delegatesund Ereignisse

Einführung in die Programmierung

Grundlagen der Programmierung APPLETS

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

GUI Programmierung mit JAVA Swing

Objektorientierte Programmierung

Objektorientierte Programmierung

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Programmieren in Java

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Computeranwendung und Programmierung (CuP)

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Zählen von Objekten einer bestimmten Klasse

NTB Druckdatum:

Benutzeroberflächen. Java Teil 4

Objektorientierte Programmierung. Kapitel 12: Interfaces

Einführung in die Java- Programmierung

Vererbung & Schnittstellen in C#

Algorithmen und Datenstrukturen

Swing Lernen am Code Teil 1

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

WPF Steuerelemente Listbox, ComboBox, ListView,

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Technische Dokumentation SilentStatistikTool

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

2A Basistechniken: Weitere Aufgaben

Einstieg in die Informatik mit Java

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Kapitel 6. Vererbung

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java

GUI Programmierung in Java

WhiteStarUML Tutorial

Vorkurs C++ Programmierung

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Große Übung Praktische Informatik 1

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Praktikum: Einstieg: Arbeitsplatz, JCreator

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Kapitel 6. Vererbung

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101

Grafische Benutzeroberfläche mit Glade und Python

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

Typumwandlungen bei Referenztypen

Dokumentation des Projektes Tic Tac Toe

Java Beans. von Raoul Schneider

Klausur GUI-Entwicklung WS10/11 1.Termin

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr Seite 1 von 5. Teil 2: Aufgaben

Klausur vom 14. Juni Informatik 4

Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger

5. Abstrakte Klassen

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

SEP 114. Design by Contract

Studentische Lösung zum Übungsblatt Nr. 7

Kapitel 6. Vererbung

2. Semester, 2. Prüfung, Lösung

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

Step by Step Softwareverteilung unter Novell. von Christian Bartl

4. AuD Tafelübung T-C3

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Testklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten

U08 Entwurfsmuster (II)

Programmierkurs Java

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

ADOBE READER X EINSTELLUNGEN ZERTIFIKAT LAND OÖ VERTRAUEN

Applications Applets (eingeschränkte Rechte)

Interaktive Elemente, GUI-Programmierung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Bitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) Seite 1

WebService in Java SE und EE

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Folge 18 - Vererbung

Erstellen eines Wordpress-Blogs

Zahlen auf einen Blick

Innere Klassen in Java

Programmierkurs Java

Graphic Coding. Klausur. 9. Februar Kurs A

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Symbolbearbeitung mit EPLAN 5.60/5.70 DIC_***D.SYM

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

Erstellen von x-y-diagrammen in OpenOffice.calc

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Scala kann auch faul sein

Software Engineering Klassendiagramme Assoziationen

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Transkript:

Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen Komponenten SWE-86 Javas Standardbibliothek jawa.awt (abstract windowing toolkit) enthält wiederverwendbare Klassen zur Implementierung und Benutzung der wichtigsten GUI-Komponenten: Graphik GUI-Komponenten (siehe SWE-84) Plazierung, Layoutmanager Ereignisbehandlung (java.awt.event) Bildmanipulation Vorlesung Software-Entwicklung / Folie 86 Thema einführen Beispiel erläutern interaktive E/A statt Eingabeströme Interaktion mit graphischen Objekten Wiederverwendung aus der AWT-Bibliothek Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.1 Welche Ein- und Ausgaben sowie Ereignisse erkennen Sie an dem Beispielbild?

Graphische Darstellung von AWT-Komponenten SWE-87 Label Button Checkbox Choice List Window Frame ScrollPane Dialog FileDialog Scrollbar TextField TextArea Panel Vorlesung Software-Entwicklung / Folie 87 Anschauliche Vorstellung der Komponenten Funktion der Komponenten erläutern Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.2 Folie 84, Folie 85 Welche Komponenten enthalten wiederum Komponenten?

Programmschema: Fenster mit Zeichenfläche SWE-88 import java.awt.*; import java.awt.event.*; // Hauptklasse als Unterklasse von Frame: class GraphicWarning extends Frame { GraphicWarning (String title) // Konstruktor { super (title); // Aufruf des Konstruktors von Frame setbackground (Color.cyan); public void paint (Graphics g) // überschreibt paint in einer Oberklasse { g.drawrect (2*letter, 2*line, 30*letter, 6*line);// auf der Fläche g g.drawstring ("W A R N I N G", 9*letter, 4*line); // zeichnen und // schreiben public static void main (String[] args) { Frame f = new GraphicWarning ("Draw Warning"); // Objekt erzeugen f.setsize (35*letter,6*line); // Größe festlegen f.setvisible (true); // führt zu erstem Aufruf von paint f.addwindowlistener // Ereignisbehandlung: Beim Drücken des (new WindowAdapter () { public void windowclosing(windowevent e) { System.exit(0); ); static private final int line = 15, letter = 5; // Schließknopfes Programm beenden. // zur Positionierung Vorlesung Software-Entwicklung / Folie 88 Schema für ein vollständiges Programm kennenlernen Struktur und Aufgaben erläutern Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.2, Example 10.1 Wie verändern Sie das Programm, so dass zwei gleiche Fenster erzeugt werden?

Ablauf des Programms von SWE-88 SWE-89 1. main aufrufen: 2. GraphicWarning Objekt erzeugen, Konstruktor aufrufen: 3. Frame-Konstruktor aufrufen 4. Eigenschaften setzen, z. B. Farben, 5. ggf. weitere Initialisierungen des Fensters 6. Objekt an f zuweisen 7. Größe festlegen, f.setsize (...), (evtl. besser bei 4.) 8. Fenster sichtbar machen, f.setvisible(true): weiter in Methoden der Oberklassen: 9. Graphics Objekt erzeugen 10. damit erstmals paint aufrufen (immer wieder, wenn nötig): weiter in paint von GraphicWarning 11. auf der Zeichenfläche des Parameters g schreiben und zeichnen 12. Reaktion auf das Drücken des Schließknopfes vorbereiten, f.addwindowlistener 13. ggf. weitere Anweisungen zur Programmausführung 15. Schließknopf Drücken weiter in Methoden der Oberklassen: 16. windowclosing des WindowListener aufrufen weiter in paint von GraphicWarning 17. Programm beenden, exit(0) Vorlesung Software-Entwicklung / Folie 89 Programmablauf verstehen Objekt zeigen Ablauf erläutern 3 Stellen zur Erweiterung des Schemas Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.2, Example 10.1 Kopieren Sie das Programm aus der Programmsammlung, führen Sie es aus und variieren es. Zu welchen Gelegenheiten wird paint aufgerufen? Wie kann eine Bibliotheksmethode Aufrufe von paint-methoden enthalten, die noch gar nicht geschrieben sind?

Beispiel: Balkendiagramm zeichnen public void paint (Graphics g) SWE-90 { int x = 50, y = 300; // Schnittpunkt der Achsen int width = 20, gap = 5; // Balken und Zwischenraum g.drawline (x,y,x+12*(width+gap),y); g.drawline (x,y,x,30); // x-achse // y-achse for (int m = 0; m < 12; m++) // Monate an der x-achse g.drawstring(months[m],m*(width+gap)+gap+x,y+20); for (int i = 0; i <y; i+=100) g.drawstring(string.valueof(i),20,y-i); // Werte an der y-achse g.setfont(new Font("SansSerif",Font.BOLD,14)); g.drawstring("savanna Rainfall Chart",120,40); // Überschrift g.setcolor(color.red); // die Balken for (int month = 0; month < 12; month++) { int a = (int) raintable[month]*10; g.fillrect(month*(width+gap)+gap+x, y-a,width,a); static double[] raintable = new double[12]; static String Months [] = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"; Vorlesung Software-Entwicklung / Folie 90 Umfangreicheres Beispiel zum Zeichnen Operationen erläutern Koordinaten der Zeichenfläche Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.2, Example 10.2 Folie 90a Kopieren Sie das Programm aus der Programmsammlung, führen Sie es aus und variieren es.

Ergebnis zum Programm von SWE-90 SWE-90a Vorlesung Software-Entwicklung / Folie 90a Bild zu SWE-90 Erläuterung zusammen mit SWE-90 Unzulänglichkeiten zeigen, begründen, beheben Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.2, Example 10.2 Folie 90

AWT-Komponenten anwenden SWE-91 Ein einfaches Beispiel für Text und Schaltknöpfe: Aufgaben zur Herstellung: Aussehen: Label- und Button-Objekte generieren Anordnung der Komponenten festlegen Ereignisse: ein Listener-Objekt mit den Buttons verbinden call-back-methode für Buttons implementieren Vorlesung Software-Entwicklung / Folie 91 Aufgaben zum Umgang mit AWT-Komponenten kennenlernen Aufgaben am Beispiel erläutern Judy Bishop: Java lernen, 3.Aufl., Abschnitt 10.3