Programmieren mit JAVA

Slides:



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

Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
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
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.
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
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
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.
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.
Vortrag - Kenny Schlör Applets Einführung in die Appletprogrammierung.
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.
DVG A bstract W indow T oolkit. DVG Als standardisierte portable Grafikschnittstelle existiert in JAVA das Package AWT - Abstract Window.
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.
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: 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.
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
Informatik – Programmierpraktikum Alexander Volodarski Gruppe 14
Erste Programme mit Java
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Programmierpraktikum Java SS 2005
Java-AG Benutzeroberflächen Juni 2001 Michael Haas.
CuP - Java Achzehnte (und LETZTE. ) Vorlesung : 1
© 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.
Einführung in die OOP in Java
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, SS Erstellung von Benutzerschnittstellen in der Programmiersprache Java.
GUI Programmierung in Java Branimir Djordjevic. GUI - Wichtige Begriffe -  Die Swing-Bibliothek in Java stellt zum Beispiel die folgenden Windows zur.
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, WS 2005/06 Event Handling in der Programmiersprache Java.
Verwendung von Graphical-User-Interfaces der Bibliothek: javax.swing.*
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:

Programmieren mit JAVA Teil VI

Zusammenfassung Applikation vs. Applet objektorientierte Programmierung Sprachbestandteile AWT

Erzeugen einer grafischen Benutzungsoberfläche bis JDK 1.1 per AWT seit JAVA 2 per JFC/Swing JFC ist die Abkürzung für Java Foundation Classes Sammlung von Klassen speziell für den Aufbau von Benutzungsoberflächen erstmals vorgestellt 1997

Features der JFC The Swing Components Pluggable Look and Feel Support Accessibility API Java 2D API (Java 2 Platform only) Drag and Drop Support (Java 2 Platform only) Components: Button, Scrollleisten, Fortschrittsanzeigen, Tabellen Pluggable Look and Feel: Frei wählbares aussehen, z.B. JAVA oder Windows „laf“ Entkopplung Funktionalität <-> Darstellung, auch Audio Schema möglich Accessibility API: Unterstützung von Eingabehilfen, z.B. Screen reader, Braille Displays Java 2D API (Java 2 Platform only) Erlaubt Entwicklern eine unkomplizierte Einbindung von high-quality 2D graphics, text, and images in applicationen und in applets. Drag and Drop Support Provides the ability to drag and drop between a Java application and a native application. The first three JFC features were implemented without any native code, relying only on the API defined in JDK 1.1. As a result, they could and did become available as an extension to JDK 1.1. This extension was released as JFC 1.1, which is sometimes called "the Swing release." The API in JFC 1.1 is often called "the Swing API." -------------------------------------------------------------------------------- Note: "Swing" was the codename of the project that developed the new components. Although it's an unofficial name, it's frequently used to refer to the new components and related API. It's immortalized in the package names for the Swing API, which begin with javax.swing.

Warum Swing ... ... und nicht AWT? Swing benutzt keinen native code!! Swing Button und Labels können auch Bilder anstelle von oder zusätzlich zu Text darstellen. Swing Komponenten müssen nicht rechteckig sein. Buttons können z.B. rund sein. Ein einfacher Zugriff auf Bildschirmelemente erlaubt z.B. einer Braille Anzeige das Auslesen einer Textbox oder der Beschriftung eines Buttons oder Labels.

Eine einfache Swing Anwendung import javax.swing.*; import java.awt.*; public class HelloSwingApplet extends JApplet { public void init() { JLabel label = new JLabel("You are successfully running a Swing applet!"); label.setHorizontalAlignment(JLabel.CENTER); label.setBorder(BorderFactory.createMatteBorder(1,1,2,2,Color.black)); getContentPane().add(label, BorderLayout.CENTER); }

Top Level Container Dialog Frame

allgemein nutzbare Komponenten Panel Toolbar ScrollPane ist ein Container für automatisches horizontales und vertikales Scrolling, das genau ein Dialogelement aufnehmen kann. Scroll pane Split pane Tabbed pane

spezielle Container Internal frame Layered pane Root pane

Dialogelemente Schaltflächen Label Checkboxen (Kontrollkästchen) Radiobutton (Optionsfelder) Auswahlmenüs Listenfelder Textbereiche und Textfelder Schieber und Bildlaufleisten eigene Dialogelemente

allgemeine Dialogelemente Buttons Combo box List Eine Checkbox ist ein Eingabeelement, das eine Zustandsvariable besitzt, die zwischen den Werten true und false umgeschaltet werden kann. Der aktuelle Zustand wird durch ein Häkchen oder Kreuz in der Checkbox angezeigt. Eine CheckboxGroup ist die Java-Variante einer Gruppe von Radiobuttons, also einer Kollektion von Buttons, von denen immer genau einer aktiviert ist. Wird ein anderer Button aktiviert, so ändert er seinen internen Status auf true und der zuvor gesetzte wird false. Ein Button ist eine beschriftete Schaltfläche, die dazu verwendet wird, auf Knopfdruck des Anwenders Aktionen in der Fensterklasse auszulösen. Eine Combo Boxist ein aufklappbares Textfeld, dessen Inhalt aus einer vom Programm vorgegebenen Liste ausgewählt werden kann. Dialogelemente des Typs Choice entsprechen den unter Windows üblichen Drop-Down-Listboxen. Eine List ist eine listenartige Darstellung von Werten, aus denen der Anwender einen oder mehrere auswählen kann. Anders als ein Choice-Element ist ein Element der Klasse List ständig in voller Größe auf dem Bildschirm sichtbar. Unter Windows werden Objekte der Klasse List durch Listboxen dargestellt. Ein TextField dient zur Darstellung und zur Eingabe von Text. Sowohl der Anwender als auch das Programm können den dargestellten Text auslesen und verändern. Im Gegensatz zur Klasse TextField, bei der der Text auf eine einzige Zeile beschränkt ist, können mit der Klasse TextArea mehrzeilige Textfelder erzeugt werden. Zusätzlich kann der Text in alle Richtungen scrollen, so daß auch größere Texte bearbeitet werden können. Ein Scrollbar ist ein Schieberegler Menu Slider Textfield

unveränderbare Informationsanzeigen Label Progress bar Ein Label dient zur Beschriftung von Dialogboxen. Es enthält eine Zeile Text, die auf dem Bildschirm angezeigt wird und vom Programm verändert werden kann. Tool tip

editierbare Anzeigen formatierter Informationen Color chooser File chooser Table Text Tree

Ereignis Behandlung (Event Handling) Aktion, die ein Ereignis auslöst Listener Typ User klickt auf einen Button, drückt Return während er in ein Textfeld schreibt oder ActionListener wählt einen Menüeintrag aus User schliesst einen frame (main window) WindowListener User drückt eine Maustaste während sich MouseListener der Cursor über einer Komponente befindet User bewegt die Maus über eine MouseMotionListener Komponente Komponente wird sichtbar ComponentListener Komponente erhält den Tastatur Fokus FocusListener Tabellen- oder Listenauswhl ändert sich ListSelectionListener Every time the user types a character or pushes a mouse button, an event occurs. Any object can be notified of the event. All it has to do is implement the appropriate interface and be registered as an event listener on the appropriate event source. Swing components can generate many kinds of events. Here are a few examples:

Ereignis Behandlung II As the following figure shows, each event source can have multiple listeners registered on it. Conversely, a single listener can register with multiple event sources. Mehrere listener können sich registrieren, um bei Ereignissen von einem bestimmten Typ und einer bestimmten Quelle benach-richtigt zu werden.

Implementierung der Ereignis Behandlung Jeder Event Handler benötigt 3 Codestücke: In der Deklaration für die Event Handler Klasse Code, der spezifiziert, dass die Klasse entweder ein Listener Interface implementiert oder von einer Klasse erbt, die das Listener Interface implementiert hat. Zum Beispiel: public class MyClass implements ActionListener { Code, der eine Instanz des Event Handlers als Listener für eine oder mehrere Komponenten registriert. Zum Beispiel: someComponent.addActionListener(instanceOfMyClass);

Implementierung der Ereignis Behandlung II Code, der eine Methode des Listener Interfaces implementiert. Zum Beispiel: public void actionPerformed(ActionEvent e) { ...//code that reacts to the action... }

Ereignis Behandlung Ein Beispiel JButton button = new JButton("I'm a Swing button!"); button.setMnemonic(KeyEvent.VK_I); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { numClicks++; label.setText(labelPrefix + numClicks); } }); Let's investigate a typical event-handling scenario by looking at how buttons (JButton) handle mouse clicks. To detect when the user clicks an on-screen button (or does the keyboard equivalent), a program must have an object that implements the ActionListener interface. The program must register this object as an action listener on the button (the event source), using the addActionListener method. When the user clicks the on-screen button, the button fires an action event. This results in the invocation of the action listener's actionPerformed method (the only method in the ActionListener interface). The single argument to the method is an ActionEvent object that gives information about the event and its source.