AWT und JFC Abstract Windowing Toolkit

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Ein Beispiel in Java.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Praktikum Systementwicklung
Java: Programmierung grafischer Oberflächen
Java: Objektorientierte Programmierung
Java: Programmierung grafischer Oberflächen
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
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.
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.
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 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Objektorientierte Programmierung JDK-Klassenbibliothek
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Java Layout Manager (JLM) Marc Dziadek
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.
DVG3 - Bilder IMAGES (Bilder) Vortrag : Ronny Kuhnert am 9. November 1999.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
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.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
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.
06-EMMA-GUI Das EMMA-GUI. 06-EMMA-GUI 2 Aufteilung des Bildes (Applikation) Menü - Balken Dateiwerkzeuge Zeichenwerkzeuge Meldungen, Informationen, Fehler.
© 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,
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
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.
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
Applets Java für’s Web.
Programmiermethodik Übung 6
Java: Programmierung grafischer Oberflächen
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Mahmoud Zoabi Khaled Isa
Informatik – Programmierpraktikum Alexander Volodarski Gruppe 14
Variablenkonzept Klassisch, in Java Basistyp
Java-AG Benutzeroberflächen Juni 2001 Michael Haas.
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
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
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
© 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)
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
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.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Einführung in die OOP in Java
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 Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Programmiermethodik Übung 7
 Präsentation transkript:

AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung graphischer Dialogelemente

z.B: Swing-Button unter Windows .... Erweiterung von AWT Eigenschaften - GUI-Elemente werden selbst erzeugt Im JDK1.1 eingeführt Leichtgewichtige Komponenten und Schwergewichtige Komponenten im AWT z.B: Swing-Button unter Windows .... - Debug-Graphik - Look-and-Feel Auswahlmöglichkeiten Umschaltung von Anwendung zur Laufzeit

Das Model-View-Controller-Prinzip Der Code wird nicht mehr in einer Klasse gepackt sondern… - Model Verarbeitungslogik der Komponenten - View Darstellung - Controller Events

Vergleich von AWT und Swing Vorteile von Swing: Swing-Komponenten haben einige neue Features zur Verfügung Swing-Komponenten sind alle in JAVA implementiert Swing Komponente verfügen über ein einheitliches dynamisches Look and Feel standardisiert Swing hat doppelt so viele Komponenten wie das AWT  komfortableres Programmieren, viele sog. „widgets“ wie z.B. Standarddialoge

Vergleich von AWT und Swing Wichtige Merkmale: zu jeder AWT-Komponente des AWT gibt es entsprechende Swing-Komponenten, diese beginnen mit J- z.B. JButton statt Button zusätzlich ein neues Set an Komponenten Swing-Komponenten sind alle Subklassen der Klasse JComponent alle Elemente von Swing sind Bestandteil des Paketes javax.swing Vererbungsunterschiede zwischen AWT und Swing (siehe Diagramm)

Vergleich von AWT und Swing Gliederung der Swing-Elemente in: Kontrollelemente/Komponenten Container LayoutManager Events

Vergleich von AWT und Swing

Vergleich von AWT und Swing

Swing-Container dienen als Behältnis für Komponenten Anordnung der Komponenten in einem rechteckigen Bereich Beispiele für Container: JFrame JWindow JPanel JDialog  „normale“ Fenster mit Rahmen & Titel  Fenster ohne Rahmen & Titel (z.B. Popup-Menu) „Ausschnitt“ eines Fensters können beliebig ineinander verschachtelt werden  Fenster, das zu einem „Oberfenster“ gehört

? ? Hinzufügen von Komponenten mit Hilfe der Methode void add(JComponent comp) wird von jedem Container implementiert Beispiel: JButton okButton = new Button(“OK“); JPanel panel = new JPanel(); panel.add(okButton); ? ? Frage: Wie werden die Komponenten in dem Container angeordnet

Vorteil: Volle Kontrolle  Nachteil: Keine Automatisierung Zuordnung von Layout-Managern mit der Methode void setLayout(LayoutManager manager); wird ebenfalls von jedem Container implementiert Aufruf mit dem Argument null  „Standard“-Layout-Manager  Komponenten müssen „von Hand“ mit der Methode void setBounds(int x, int y, int w, int h); skaliert und angeordnet werden Vorteil: Volle Kontrolle  Nachteil: Keine Automatisierung

FlowLayout BorderLayout GridLayout Anordnung wie Wörter in einem Text Ausrichtung einstellbar hier: zentriert Anordnung am Rahmen nach Himmelsrichtungen (NORTH, SOUTH, EAST, WEST) und im Zentrum (CENTER) Anordnung in einem regelmäßigen Gitter hier: 2 x 3 - Gitter

In die Container kommen die verschieden Komponenten diese werden von der Java-Swing Bibliothek angeboten Meist werden aber auch noch einige Klassen von AWT benötigt

Menüleiste (MenuBar) Buttons Textfelder Listenfenster Grafiken usw.

Menüleiste Buttons

Listenfenster Combo Boxen Textfelder

durch z.B. zusätzliche Tool Tips diese kennt man aus der gesamten Windows Welt wenn man länger mit der Maus an einer Stelle verweilt Beispiel:

Es gibt zwei Arten Java-Programme application applet HTML-Datei Initialisierung mit init(); Ausführen mit start(); Klasse mit main-Methode AnalyseProgramm AnalyseKomponente extends JFrame

Die Klasse AnalyseProgramm: TEIL 1 import javax.swing.UIManager; import java.awt.*; public class AnalyseProgramm { // Konstruktor public AnalyseProgramm() { AnalyseKomponente frame = new AnalyseKomponente(); frame.setVisible(true); } Die Klasse AnalyseProgramm: TEIL 1 //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); Kleingedrucktes: passt das Fenster an. Fenster wird ‚sichtbar‘ gesetzt

Die Klasse AnalyseProgramm: TEIL 2 //Main method public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeel ClassName()); } catch(Exception e) { e.printStackTrace(); new AnalyseProgramm(); main-Methode Erzeugung des Fensters

Die Klasse AnalyseKomponente import java.awt.*; import java.awt.event.*; import javax.swing.*; public class AnalyseKomponente extends JFrame { // Komponenten werden angelegt ... // Rahmen wird konstruiert // Komponenten werden initialisiert jPanel2.add(jTabbedPane1, BorderLayout.CENTER); jTabbedPane1.add(jPanel4, "Graphenschreiber"); jTabbedPane1.add(jPanel5, "Karnaugh-Diagramm"); jTabbedPane1.add(jPanel6, "Wertetabelle"); jTabbedPane1.setSelectedComponent(jPanel4); }

Wie werden die Fenster-Elemente positioniert?

content pane

CENTER BorderLayout content pane SOUTH

CENTER CENTER BorderLayout content pane BorderLayout content pane SOUTH SOUTH

jPanel2.add(jTabbedPane1, BorderLayout.CENTER); jTabbedPane1.add(jPanel4, "Graphenschreiber"); jTabbedPane1.add(jPanel5, "Karnaugh-Diagramm"); jTabbedPane1.add(jPanel6, "Wertetabelle"); jTabbedPane1.setSelectedComponent(jPanel4);

Ein umfassenderes Beispiel ?