Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

Ähnliche Dokumente
Objektorientierte Software-Entwicklung

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

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

GUI Programmierung mit JAVA Swing

Grafische Benutzeroberflächen mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

GRAFISCHE BENUTZERSCHNITTSTELLEN

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Swing Lernen am Code Teil 1

JAVA Oberflächen mit Swing

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

Grundlagen der Programmierung APPLETS

NTB Druckdatum:

Objektorientierte Programmierung

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

...erinnern Sie sich? oopjs4b / kwhbkd4r

Vorlesung 13. Sitzung Grundlegende Programmiertechniken

GUIs in Java und ihre Programmierung

Softwarepraktikum: Enigma

GUI Programmierung mit javax.swing

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets

Einführung in Swing. Graphical User Interface

JAVA Oberflächen mit Swing

Vorlesung Programmieren. Bisher... Apple Lisa Office System 3.1. GUIs mit Java

J.1. J.1 GUI-Programmierung in in Java Prof. Dr. Rainer Manthey Informatik II 1

Vorlesung Programmieren

JButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009.

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing

Liste Programmieren Java Überblick

GUI-Programmierung in Java

GUI Programmierung in Java

Techniken der Projektentwicklung

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

13 Grafische Oberflächen , Prof. Dr. D. Ratz

Grafik - wozu? GUI Grafische Benutzungsschnittstellen. Gehört zum Standardumfang des JDK. 2 Varianten: AWT und Swing

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

Rückblick. Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen?

Swing :Komponenten I (Teil 2)

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

Java Lab 2006/12/13 Client

5. Java Swing Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006

import java.awt.*; import java.awt.event.*; import javax.swing.*;

Swing Grundlagen. Andre Eichmann

Institut für Informatik

SWING. DVG2-09 -Swing 1

Einstieg in die Informatik mit Java

In Track B generell gute Java-Kenntnisse vorausgesetzt!

Aufbau einer typischen Java-Datei

GUI-Programmierung in Java

Aufbau einer Swing-Applikation

Einstieg in die Informatik mit Java

Mensch-Maschine-Interaktion

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Abstract Windowing Toolkit, Rahmen, Wächter, Ereignisbehandlung, Ausgabe, Menüs.

Java. Prof. Dr. Stefan Enderle NTA Isny

Einbindung der Tastatur

7. Architektur interaktiver Systeme

2. Programmierung von Benutzungsschnittstellen

GUI. Programmiermethodik. Eva Zangerle Universität Innsbruck

Graphische Benutzungsoberflächen

Programmieren in Java

public class Beispiel1 extends Frame {

11. GUI-Programmierung mit SWING Überblick

Objektorientierte Softwareentwicklung

Programmierkurs. 11. Vorlesung. Sven Mallach. 13. Januar Institut für Informatik - Lehrstuhl Prof. Dr. M. Jünger 1/ 60

Graphische Programmierung: GUIs: graphical user interfaces

Ansonsten VIEL SPAß! Nicholas Ohs (GK 11 IF 2)

Fenster in Java. von Stefanie Gerckens 1

Swing oder AWT? Was ist das: Swing bzw. AWT. Haupterkennungsmerkmal von Swing Source-Code:

Hochschule der Medien Prof. Uwe Schulz 31. Januar 2006 Stuttgart Klausur Informatik 2, EDV-Nr /42022 Seite 1 von 2. Punkte. Teil 1.

Programmieren 2 Selbststudium Semesterwoche 4

Vorlesung Informatik II

Teil 5: Benutzeroberflächen 5.2 Einführung GUI-Programmierung Prof. Dr. Max Mühlhäuser FG Telekooperation TU Darmstadt

I. Grundlagen II. Ereignistypen III. Ereignisempfänger. Event-Handling (EH)

Programmieren mit Swing

Auszug aus der Klassenstruktur

FENSTER ADNAN TUNAY 1

Testen von grafischen Benutzeroberflächen

AWT. Einfache AWT-Anwendung. Swing. Vorlesung 1. Handout S. 2. import java. awt. * ;

Session 1: Classes and Applets

GUI Events. Entstehen bei jeder Eingabe über die Bedienoberfläche (Maus bewegen, Maus Tasten drücken, Tastatur,...

Inhaltsverzeichnis Einleitung...1 Die Begleit-CD zu diesem Buch...5 Erweiterungen für Java Ereignisse...15

11. GUI-Programmierung mit SWING Überblick

Einführung in die Informatik - Teil 6b -

Seite Architektur interaktiver Systeme. 7. Architektur interaktiver Systeme. 7.1 Entkopplung durch Sichten. Schichtenarchitektur

Fachhochschule Fulda Fachbereich Angewandte Informatik. Hausarbeit Seminar: Java3D. Java Layout-Manager WS 2002/2003

Dr. Monika Meiler. Inhalt

6. Objektorientiertes Design

04 - Actions. Actions

Objektorientierte und Funktionale Programmierung SS 2014

Einführung in die Programmierung für NF. Übung 08

Entwicklung von E-Learning Komponenten zur Computergrafik

Java Design und Event Handling. Natascha Hoebel Professur Prof. R. V. Zicari. AWT SWING Layout Design Event Handling

GUI-Programmierung mit Java-Swing

Fortgeschrittene Objektorientierung

Grafik-Programmierung

Transkript:

GUIs mit Swing Markus Reschke 28.08.2014

Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2

GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java geliefert wurde. Es benutzt die nativen GUI-Elemente (Peer-Konzept). Es wird nicht mehr weiterentwickelt. (Pakete java.awt und java.awt.event) Swing ist der Nachfolger von AWT und baut auf einigen Klassen davon auf. Swing ist komplett platformunabhängig und zeichnet alle GUI-Elemente selber. (Paket javax.swing) Markus Reschke GUIs mit Swing 3

Ein paar wichtige AWT-Klassen Component repräsentiert allgemein Bestandteile einer GUI Container kann andere GUI-Komponenten beinhalten LayoutManager ordnet Komponenten in Containern an Window repräsentiert ein Fenster ohne Rahmen und Titel Frame repräsentiert ein Fenster mit Rahmen und Titel, Unterklasse von Window Markus Reschke GUIs mit Swing 4

JPanel Ein Container für Swing-Komponenten (abgeleitet von JComponent, welches von Component abgeleitet ist) Kann ein LayoutManager zugewiesen bekommen (setlayout(layoutmanager m)) Kann Komponenten aufnehmen (Hinzufügen mit add(component c) oder add(component c, Object constraints)) Hintergrundfarbe setzen mit setbackground(color c) Markus Reschke GUIs mit Swing 5

JFrame Ein Swing-Fenster, abgeleitet von Frame Besitzt ein JPanel, dass die GUI-Komponenten beinhalten soll (Content Pane) Content Pane mit Container getcontentpane() holbar. Kann auf Schließen des Fensters reagieren Reaktion setzen mit void setdefaultcloseoperation(int operation) Möglichkeiten: JFrame.DISPOSE_ON_CLOSE, JFrame.EXIT_ON_CLOSE,JFrame.HIDE_ON_CLOSE (Default) Un/Sichtbar mache mit setvisible(boolean visible) dispose() gibt Fenster frei Markus Reschke GUIs mit Swing 6

Layout Manager Layout Manager kümmern sich um die Anordnung von Komponenten in einem Container Automatische Anordnung von Elementen unabhängig ihrer genauen Größe und Position Einfacheres Vergrößern/Verkleinern des Fensters Verschiedene Look&Feels machen keine Probleme Markus Reschke GUIs mit Swing 7

BorderLayout Fünf Bereiche: BorderLayout.SOUTH,BorderLayout.NORTH,BorderLayout.EAST,BorderLayout.WEST, BorderLayout.CENTER Komponenten werden einem dieser Bereiche beim Hinzufügen zugeordnet Eine Komponente pro Bereich Angabe beim Hinzufügen zu Container add(component c, int borderconstant) Markus Reschke GUIs mit Swing 8

Border Layout Siehe Border.java Markus Reschke GUIs mit Swing 9

FlowLayout Setzt alle Komponenten horizontal hintereinander Fügt bei Bedarf Zeilenumbrüche ein Markus Reschke GUIs mit Swing 10

Flow Layout Siehe Flow.java Markus Reschke GUIs mit Swing 11

Color Klasse von AWT Nutzt u.a. RGB Definition von Farben durch Rot-, Grün und Blauanteil Jeweils von 0 bis 255 Definiert häufig genutzte Farben als Konstanten Markus Reschke GUIs mit Swing 12

Beispiel: Color Siehe ColorEx.java Markus Reschke GUIs mit Swing 13

paintcomponent() und Primitiven paintcomponent(graphics g) zeichnet Komponente Wird von Swing automatisch beim Neuzeichnen der Komponente aufgerufen g ist der Grafik-Kontext (Welche Komponente, welcher Bereich etc.) Kontext kann benutzt werden um grafische Primitiven zu zeichnen Kreise, Linien etc. Markus Reschke GUIs mit Swing 14

Beispiel: Paint Siehe Paint.java Markus Reschke GUIs mit Swing 15

Events Ereignisse werden erzeugt durch Interaktionen mit der GUI Mausbewegung, Klick, Tastendruck etc. Widgets registrieren Ereignis und generieren Eventobjekt dafür Listener warten auf Benachrichtigung durch Widget Publisher-Subscriber-Pattern Wichtige Listener-Interfaces: ActionListener, MouseListener, KeyListener, MouseMotionListener Markus Reschke GUIs mit Swing 16

ActionListener Interface für Listener, die auf ein allgemeines Ereignis eines Widgets warten Details kommen auf das Widget an Für JButton: Auslösen des Buttons Für JTextField: Enter Methode public void actionperformed(actionevent actionevent) behandelt das Event Registrieren mit addactionlistener(actionlistener a) auf das Widget Markus Reschke GUIs mit Swing 17

Adapterklassen Klassen, die Listener-Interfaces implementieren abstrakt leere Methodenrümpfe Sind vorteilhaft, wenn nicht alle Methoden eines Listener-Interfaces geändert werden müssen Nachteil: Vererbung Beispiel: WindowAdapter, MouseAdapter Markus Reschke GUIs mit Swing 18

Dialoge mit JOptionPane Klasse zum Erstellen von modalen Nachrichtendialogen Dialoge können auch Eingaben annehmen Verschiedene Typen: Fehler, Warnung, etc. Markus Reschke GUIs mit Swing 19

Beispiel: JOptionPane Siehe ErrorPane.java Markus Reschke GUIs mit Swing 20

Widgets Fensterelemente z.b. JButton JTextArea JTextField JLabel JList und mehr... Markus Reschke GUIs mit Swing 21

Beispiel: Widgets Siehe Widgets.java Markus Reschke GUIs mit Swing 22

Beispiel: Painter Siehe Painter.java Markus Reschke GUIs mit Swing 23