5. Das Java AWT (II) Components und Container
|
|
|
- Rolf Buchholz
- vor 9 Jahren
- Abrufe
Transkript
1 5. Das Java AWT (II) Components und Container OO-Graphics in Java Das Java AWT (II) 111
2 AWT Hierarchie (II) Checkbox Choice Object List Button Component Canvas Panel Applet Container ScrollPane Dialog FileDialog Label Window Frame Scrollbar TextArea TextComponent TextField instantiierbares Objekt nicht instantiierbares abstraktes Objekt OO-Graphics in Java Das Java AWT (II) 112
3 Wichtige Klassen des AWT (II) Component: Die Basisklasse Definiert sehr viele Methoden. Kann nicht direkt instanziiert werden! Canvas: Die einfachste Zeichenoberfläche (Leinwand) Besitzt im wesentlichen ein Graphics-Objekt. Container: Ein Behälter für Components Kann nicht direkt instanziiert werden! Panel: Objekt zum Zusammenfassen grösserer Sinneinheiten in einem Container. Applet ist als Unterklasse von Panel definiert. Window: einfaches Fensterobjekt (Dialog) Wird als Popup-Window verwendet. Frame: richtiges Fensterobjekt Hat Titelbalken, kann vom User verkleinert und vergrössert werden, kann ein Menu haben... OO-Graphics in Java Das Java AWT (II) 113
4 Wichtige Klassen des AWT (III) Button: Druckknopf Checkbox: Ankreuzfeld Choice: Auswahlmenu (Pull-down) List: Auswahlmenu Label: statischer Text Scrollbar: Schieberegler TextField: Texteingabe (einzeilig) TextArea: Texteingabefeld (mit mehreren Zeilen) OO-Graphics in Java Das Java AWT (II) 114
5 Components Components sind der Grundbaustein einer graphischen Benutzeroberfläche. Merke: Alles, was man sieht, ist ein Component Components haben unzählige Methoden, welche wir zunächst alle nicht benötigen. Merke: Im Zweifel ist die gesuchte Methode in Component definiert. Schon bekannt: Die paint(graphics g)-methode: Wird in Unterklassen überschrieben, um individuelle Graphiken zu zeichnen. OO-Graphics in Java Das Java AWT (II) 115
6 Components: Button, Checkbox, Choice import java.applet.*; import java.awt.*; public class ComponentTest1 extends Applet { private Button button; private Checkbox checkbox; private Choice choice; public void init() { button = new Button("Press me"); this.add(button); checkbox = new Checkbox("Check me"); this.add(checkbox); } } choice = new Choice(); choice.additem("first"); choice.additem("second"); choice.additem("third"); this.add(choice); OO-Graphics in Java Das Java AWT (II) 116
7 Components: Label, TextField, TextArea import java.applet.*; import java.awt.*; public class ComponentTest2 extends Applet { private Label label; private TextField textfield; private TextArea textarea; public void init() { label = new Label("This is Text"); this.add(label); textfield = new TextField("This is Editable Text",20); this.add(textfield); } } textarea = new TextArea(" This is a\n whole\n Text Area",3,10); this.add(textarea); OO-Graphics in Java Das Java AWT (II) 117
8 Peers Für alle Bildschirmobjekte werden die vom Windowsystem bereitgestellten, nativen Objekte benutzt (sogenannte Peers). Vorteile: garantiertes Plattform-Look-and-Feel effiziente Implementierung schnell anzupassen Nachteile: garantiertes Plattform-Look-and-Feel Protokollreibereien hoher Systemresourcenverbrauch gemeinsamer Nenner OO-Graphics in Java Das Java AWT (II) 118
9 Lightweight Peers Mit Java 1.1 wurden sogenannte Lightweight-Peers eingeführt. Die Peers sind dabei vollständig in Java implementiert und direkte Unterklassen von Component. Mit der Einführung der Java Foundation Classes gewinnen Lightweight-Peers an Bedeutung. Für eigene User-Interface-Komponenten mit spezieller Funktionalität bieten sich Lightweight-Peers an. Achtung: Obwohl viele Methoden in Component definiert werden, müssen sie selbst implementiert werden (viele Methoden sind nicht explizit als abstract deklariert, sondern sind es nur implizit). OO-Graphics in Java Das Java AWT (II) 119
10 Container Objekte in denen mehrere Bildelemente (Components) zusammengefasst werden können Anordung der Bildelemente wird durch das Layout des Containers bestimmt kann nicht selbst instantiiert werden Typische Container sind Panel und Window ermöglichen eine hierarchische Gestaltung der Benutzeroberfläche OO-Graphics in Java Das Java AWT (II) 120
11 Applets als Container Da die Klasse Applet eine Unterklasse von Panel ist, ist jedes Applet selbst ein Container. Man fügt Komponenten zu einem Container mit der add-methode hinzu, mit remove entfernt man sie wieder: Programmauszug: public class MyApplet extends Applet { //... public void init() { Label l = new Label("Please press:"); add(l); Button b = new Button("Press Me!"); add(b); } //... } OO-Graphics in Java Das Java AWT (II) 121
12 Fenstergestaltung mit Containern Da Container eine Unterklasse von Component ist, kann ein Container selbst wieder zu einem anderen Container hinzugefügt werden. Damit können ganze Hierarchien von User-Interface-Elementen aufgebaut werden. Panel(BorderLayout) Panel (GridLayout) Knopf 1 Knopf 2 Knopf 3 Knopf 4 Knopf 7 Knopf 5 Knopf 8 Knopf 4 Knopf 9 TextArea Statuszeile Panel (BorderLayout) Panel() Checkbox Checkbox Checkbox Checkbox Checkbox Checkbox Checkbox Checkbox OO-Graphics in Java Das Java AWT (II) 122
13 Panels import java.applet.*; import java.awt.*; public class ContainerTest1 extends Applet { private Button a,b,c; private TextArea text; private Panel panel1,panel2; public void init() { panel1 = new Panel(); a = new Button("Button A"); b = new Button("Button B"); c = new Button("Button C"); panel1.add(a); panel1.add(b); panel1.add(c); panel2 = new Panel(); text = new TextArea("Text Gebiet",4,30); panel2.add(text); } } this.add(panel1); this.add(panel2); OO-Graphics in Java Das Java AWT (II) 123
14 Layouts Der LayoutManager steuert das graphische Erscheinungsbild eines Containers jeder Container besitzt einen LayoutManager legt das Verhalten bei resize-operationen fest ermöglicht plattformunabhängige Oberflächengestaltung vordefinierte LayoutManager: FlowLayout, BorderLayout, GridLayout, CardLayout, GridbagLayout LayoutManager ist ein Interface. Man kann selbst neue Klassen schreiben, die LayoutManager implementieren, um eigene Layout-Regeln durchzusetzen. OO-Graphics in Java Das Java AWT (II) 124
15 Positionierung von Komponenten Die Positionierung von einzelnen Komponenten liegt nicht in der Hand des Programmierers, sondern in der Hand des Layout-Managers. Dieser orientiert sich an Daten, die er von den einzelnen Komponenten erhält. Alle Components implementieren die Methoden public Dimension getminimumsize() public Dimension getpreferredsize() public Dimension getmaximumsize() die der LayoutManager für die Bestimmung der Grösse und Position einzelner Komponenten benutzen kann (aber nicht muss!). Daher macht es keinen Sinn, die Komponenten direkt über Aufrufe von setlocation oder setsize zu positionieren. OO-Graphics in Java Das Java AWT (II) 125
16 Setzen des LayoutManagers import java.awt.*; import java.applet.*; public class LayoutTest extends Applet { public void init() { setlayout(new FlowLayout()); } Button a = new Button("First"); Button b = new Button("Second"); Button c = new Button("Third"); Button d = new Button("Fourth"); Button e = new Button("Fifth"); add(a); add(b); add(c); add(d); add(e); } Es folgt eine Übersicht über Standard-Layouts. OO-Graphics in Java Das Java AWT (II) 126
17 FlowLayout FlowLayout ist der Default-LayoutManager für viele Container. Die enthaltenen Komponenten werden auf die Grösse gesetzt, die sie über getpreferredsize() zurückliefern. Dann werden sie zeilenweise angeordnet (vergleichbar mit word-wrap). OO-Graphics in Java Das Java AWT (II) 127
18 BorderLayout setlayout(new BorderLayout()); Der BorderLayout-Manager teilt den Container in fünf Regionen auf: North, East, West, South und Center. Jede dieser Regionen kann genau eine Komponente enthalten (die aber wieder ein Container sein kann). Um auf eine der Regionen zuzugreifen, übergibt man ihren Namen an add als erstes Argument. OO-Graphics in Java Das Java AWT (II) 128
19 GridLayout setlayout(new GridLayout(3,2)); Der GridLayout-Manager teilt den vorhandenen Platz gleichmässig auf. Die add-methode weist den Komponenten nacheinander von links nach rechts und oben nach unten je eine Zelle zu. OO-Graphics in Java Das Java AWT (II) 129
20 Layout-Bemerkungen Jede Komponente kann nur einmal verwendet werden. Fügt man eine Komponente zu mehreren Containern hinzu, so wird sie aus allen bis auf den letzten wieder gelöscht. Dies verhindert zirkuläre Abhängigkeiten. Da für die Bestimmung des Layouts alle mittels add hinzugefügten Komponenten existieren müssen, wird die Berechnung solange hinausgezögert, bis der Container selbst gemalt wird. Mit der Methode validate() erzwingt man, dass das Layout neu berechnet wird. Man kann explizit positionieren, wenn man den LayoutManager eines Containers auf null setzt. Dadurch verliert man Plattformunabhängigkeit! OO-Graphics in Java Das Java AWT (II) 130
21 Ohne LayoutManager public class LayoutTest extends Applet { public void init() { setlayout(null); Button a = new Button("First"); Button b = new Button("Second"); Button c = new Button("Third"); Button d = new Button("Fourth"); Button e = new Button("Fifth"); a.setbounds(10,10,100,40); b.setbounds(10,70,100,40); c.setbounds(130,10,100,40); d.setbounds(130,70,100,40); e.setbounds(10,130,220,60); } add(a); add(b); add(c); add(d); add(e); } OO-Graphics in Java Das Java AWT (II) 131
22 Window Ein Window-Objekt ist ein spezieller Container, dessen Peer ein eigenes Fenster ohne Rahmen ist. Der Default-Layout-Manager ist BorderLayout. Konstruktor: public Window(Frame parent) Der Konstruktor für Window verlangt als Übergabe- Parameter ein Frame-Objekt. Merkregel: Ein Dialog- Popup gehört zu einem vernünftigen Fenster. Woher bekommt man dieses Frame-Objekt? Im Falle von Applets existiert ein Top-Level-Window, zum Beispiel das Appletviewer-Fenster oder das Fenster des Netscape Navigator. Dieses erhält man über wiederholte getparent()-aufrufe aus Component. Achtung: Dieser Ansatz ist nicht portabel und nicht zuverlässig! Zudem sind eigenständige Windows bei Applets selten sinnvoll. Im Fall von Applications sollte man sowieso schon ein Frame-Objekt haben. Wichtig: Windows sind per default nicht sichtbar man muss show aufrufen. OO-Graphics in Java Das Java AWT (II) 132
23 Frame (I) Ein Frame ist ein richtiges Window, mit sämtlichen Dekorationen, einer Titelleiste, usw. Konstruktoren: public Frame() erzeugt ein (noch) nicht sichtbares Window. Der Default-Layout-Manager ist BorderLayout. public Frame(String title) erzeugt ein (noch) nicht sichtbares Window mit Titel title. OO-Graphics in Java Das Java AWT (II) 133
24 Frame (II) Wichtige Methoden: String gettitle() und void settitle() Zugriff auf die Titelleiste Image geticonimage() und void seticonimage(image im) wird nicht von allen Plattformen unterstützt MenuBar getmenubar() und void setmenubar(menubar mb) Zugriff auf das Window-Menu boolean isresizable() und void setresizable(boolean rs) Muss gesetzt werden, bevor der Peer erzeugt wird int getcursortype() und void setcursor(int cursortype) wird ab Java 1.1 durch die Methoden set- und getcursor von Component ersetzt siehe unten! OO-Graphics in Java Das Java AWT (II) 134
25 Frame (III) Einige Methoden aus Window und Component public void show() und public void hide() Windows sind per default unsichtbar! public boolean isshowing() ist true, wenn das Fenster sichtbar ist public void tofront() und public void toback() bringen das Fenster in den Vordergrund oder Hintergrund public void dispose() entfernt das Window vollständig (inklusive Peer) public void pack() bringt Subkomponenten auf ihre preferredsize und passt die Grösse des Windows an. Sowohl pack als auch show sorgen für die Erzeugung des Peers des Windows. OO-Graphics in Java Das Java AWT (II) 135
26 Ein Beispiel Dieses Programm erzeugt ein Fenster mit einem Button: import java.awt.*; public class MyApplication extends Object { } public static void main(strings argv[]) { Frame top = new Frame("My Application"); Button b = new Button("Push!"); top.add("center",b); top.pack(); top.show(); } Problem: Das Fenster reagiert nicht auf Close es bleibt, solange die JVM läuft! Dazu: Eventhandling! OO-Graphics in Java Das Java AWT (II) 136
27 Insets Damit das Layout nicht mit den Dekorationen ins Gehege kommt, fragt der LayoutManager den Container nach seinen Insets (Einschüben). Insets-Objekte ähneln Rectangle-Objekten, haben aber viel weniger Funktionalität. Ihre wichtigste Eigenschaft sind vier public int-variablen, deren Bedeutung das folgende Bild erklärt: left right top bottom Man erhält die Insets eines Containers über die getinsets()-methode, die man auch überschreiben muss, wenn das Layout einen anderen Rand beachten soll (aber Achtung: Nicht kleiner machen!) OO-Graphics in Java Das Java AWT (II) 137
28 Cursor Jedes Component kann einen anderen Mauszeiger erhalten. Leider erlaubt es das AWT derzeit nicht, eigene Mauszeiger zu erzeugen, aber man kann aus einer Vielzahl von Standard-Zeigern wählen: Cursor.DEFAULT_CURSOR Cursor.CROSSHAIR_CURSOR Cursor.TEXT_CURSOR Cursor.WAIT_CURSOR Cursor.HAND_CURSOR Cursor.MOVE_CURSOR Cursor.N_RESIZE_CURSOR Cursor.S_RESIZE_CURSOR Cursor.E_RESIZE_CURSOR Cursor.W_RESIZE_CURSOR Cursor.NE_RESIZE_CURSOR Cursor.NW_RESIZE_CURSOR Cursor.SE_RESIZE_CURSOR Cursor.SW_RESIZE_CURSOR Man erhält ein Cursor-Object durch Aufruf der statischen Methode static public Cursor getpredefinedcursor(int type) mit einer der oben genannten Variablen als type. Beispiel: Button b = new Button("WAIT NOW!"); b.setcursor(cursor.getpredefinedcursor(cursor.wait_cursor)); OO-Graphics in Java Das Java AWT (II) 138
29 Menus Es gibt noch die eine weitverzweigte Hierarchie von Menus, MenuItems, PopupMenus. Diese können nahezu beliebig geschachtelt werden. In Java 1.0 war die einzige Möglichkeit, ein Menu darzustellen, einen Menubalken an ein eigenes Fenster zu heften. In Java 1.1 gibt es komponentenspezifische Popup- Menus! OO-Graphics in Java Das Java AWT (II) 139
30 JavaBeans Die portable Version von ActiveX/OCX/... JavaBeans folgen einem genau spezifizierten Namensschema: properties werden über get-/set-paare adressiert das komplette AWT besteht aus Beans Beans können unsichtbar sein Es gibt Tools zur Einbindung von Beans als ActiveX-Controls (bridges) Trennung von Bildschirmdarstellung und Funktionalität zwingend notwendig; nicht nur deswegen, aber auch daher das neue Event-Modell! OO-Graphics in Java Das Java AWT (II) 140
31 Ausblick Swing Swing ist der Codename für die AWT-Erweiterungen in den Java Foundation Classes, die derzeit von Javasoft (und Netscape) entwickelt werden Swing unterstützt JavaBeans Swing ist lightweight Swing hat pluggable look-and-feel Swing ist schöner! Das API ist stabil (Version 1.0) Swing ist Bestandteil des JDK-1.2 OO-Graphics in Java Das Java AWT (II) 141
32 OO-Graphics in Java Das Java AWT (II) 142
GUI-Programmierung mit Java. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 11: GUI 1: AWT (1) GUI-Programmierung mit Java.
Universität Osnabrück 1 GUI-Programmierung mit Java 3 - Objektorientierte Programmierung in Java Vorlesung 11: GUI 1: AWT (1) SS 2004 Prof. Dr. F.M. Thiesing, FH Dortmund Alle unsere bisherigen Anwendungsbeispiele
Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,
GUI Programmierung mit javax.swing
java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick
GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik
GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in
Objektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine
Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische
Graphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
Layout Manager. Astrid Beck FHT Esslingen
Layout Manager Astrid Beck FHT Esslingen Layout Manager Layout Manager arrangieren den Inhalt eines Containers gemäß vorgegebener Regeln Layout Manager BorderLayout North, South, East, West, Center FlowLayout
Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische
Fenster in Java. von Stefanie Gerckens 1
Fenster in Java von Stefanie Gerckens 1 Inhaltsverzeichnis Die verschiedenen Fensterklassen Aufrufen und Schließen eines Fensters Visuelle Eigenschaften eines Fensters Anzeigezustand eines Fensters Fensterelemente
EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ
EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1
Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.
GroupLayout Anmerkung
Swing Layouts Layoutmanager Ordnen Elemente eines Containers nach einem bestimmten Verfahren an Der Container erfragt bei jeder Neudarstellung bei seinem Layoutmanager, wie die Komponenten des Containers
Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
Session 1: Classes and Applets
Session 1: Classes and Applets Literature Sprechen Sie Java, ISBN 3-89864-117-1, dpunkt deutsch Java für Studenten, ISBN 3-8273-7045-0, PearsonStudium deutsch Java in a Nutshell, ISBN: 0-59600-283-1, O'Reilly
GUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.
Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung
Einführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
Javakurs für Fortgeschrittene
Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Funktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
Wiederholung. Klassenhierarchie:
Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse
...erinnern Sie sich? oopjs4b / kwhbkd4r
...erinnern Sie sich? oopjs4b / kwhbkd4r !" Ereignisbehandlung in awt/swing führt Liste interessierter Behandler GUI- Komponente (z.b. Knopf) wird eingetragen trägt ein Ereigniskanal fertigt ab neuer Behandler
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 GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
Einstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Ereignis-Verwaltung 2 Layout-Typen GridLayout
14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Grundlagen der Informatik für Ingenieure I. 8. AWT - Abstract Window Toolkit Teil 1
8. AWT - Abstract Window Toolkit Teil 1 8.1.1 Labels 8.1.2 Buttons 8.1.3 Check Boxes 8.1.4 Radio Buttons 8.1.5 Choice Menus 8.1.6 Text Fields 8.2.1 Flow Layout 8.2.2 Grid Layout 8.2.3 Border Layout.1 8
14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm
Java Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm R.Oldenbourg Verlag München Wien 1999 1. Einleitung 11 2. Java-Entwicklungsumgebung 15 2.1 JDK
1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Graphische Programmierung: GUIs: graphical user interfaces
Graphische Programmierung: GUIs: graphical user interfaces Ziel: Java -Programmierung und Handhabung von graphischen Benutzeroberflächen (in Applets) mehrere Fenster Fenster-Eigenschaften: aktiv oder inaktiv
(C) Sortieren und Suchen mit Java.-AWT Seite 1
Sortieren sowie Suchen mit dem Halbierungsverfahren, programmiert mit der Java-AWT Funktion und Oberfläche sind in getrennten Klassen untergebracht. Die ganze Anwendung besteht damit aus drei Dateien:
Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke
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
4. Hierarchische Datenstrukturen in OO-Systemen
4. Hierarchische Datenstrukturen in OO-Systemen OO-Graphics in Java Hierarchische Datenstrukturen 89 Hierarchien in OO-Systemen Objektorientiertes Programmieren bietet zahlreiche Strukturierungs-Möglichkeiten
Java I Vorlesung 11 Graphische Oberflächen mit Swing
Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Einstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
Programmieren 2 Selbststudium Semesterwoche 4
Programmieren 2 Selbststudium Semesterwoche 4 Kapitel 11.1, 11.2 und 11.3 1. Das Konzept "Interface" ist wichtig und ist uns schon mehrfach begegnet. In welchen Zusammenhängen hatten wir es schon mit "Interfaces"
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.06.07 G. Bohlender (IANM UNI Karlsruhe) Swing 27.06.07 1 / 10 Übersicht 1 Einführendes
Objektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen
Handbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
NTB Druckdatum: 01.04.13 -
AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen
Theorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
Programmiertechnik GUI Programmierung mit Java Swing
Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 [email protected] Tel: 07531/206-720 Oliver Haase Hochschule Konstanz
Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:
Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
Javakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
Objektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
Info B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
Java Programmierhandbuch
Stefan Middendorf, Reiner Singer, Stefan StrobeL Java Programmierhandbuch und Referenz В dpunkt Verlag für digitale Technologie GmbH Heidelberg I Die Sprache Java 1 1 Einleitung 3 1.1 Java 5 1.2 Eigenschaften
Ein Manager mit CardLayout layout/cards.java
201 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Ein Manager mit CardLayout layout/cards.java CardLayout dient vor allem zum Aufbau von Inspektoren: In der gleichen Fläche soll je nach
Einstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
11. GUI-Programmierung mit SWING Überblick
11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing
Informatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp [email protected] 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Java - AWT Basispraktikum SystemArchitektur WS 2008/ Atanas Dimitrov
Java - AWT Basispraktikum SystemArchitektur WS 2008/2209 09.12.2008 Atanas Dimitrov 1 Was besprechen wir heute: AWT Klassen Die Klasse Graphics AWT Methoden Die Klasse ToolKit Ausgabe von Bilder Die Klasse
Einführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
Grafische Benutzeroberflächen
Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm
