GUI-Programmierung - Einführung
|
|
- Kai Kerner
- vor 8 Jahren
- Abrufe
Transkript
1 GUI-Programmierung - Einführung 1 Kernkonzepte Komponenten (components) Layout ereignisgesteuerte Programmierung (event driven programming)
2 Frames and Components 2 windows (frames) menus labels checkboxes radio buttons borders buttons die einzelnen GUI-Elemente sind in einem bestimmten Layout angeordnet
3 Event-Driven Programming (1) 3 traditionelle Programme ohne GUI z. B. DOS-Programme der Programmierer bestimmt den Programmfluß der Programmierer bestimmt die Sequenz der Ein-/Ausgaben GUI-Programme sind anders! ereignisgesteuert die Sequenz der Benutzereingaben bestimmt den Programmablauf selbstprogrammierter Code wird durch Betriebssystemcode aufgerufen user code is called by system code
4 Event-Driven Programming (2) 4
5 GUI-Bibliotheken in Java 5 die integrierten GUI-Bibliotheken sind eine Besonderheit der Sprache Java enthält GUI- Widgets Grafikelemente mit zugehörigem Steuercode Java besitzt zwei GUI-Bibliotheken AWT Abstract Windowing Toolkit enthält nur die wichtigsten Elemente Swing baut teilweise auf dem AWT auf sehr umfangreiche GUI-Bibliotkek
6 AWT versus Swing 6 Swing enthält neue Komponenten ersetzt einige alte AWT-Komponenten benutzt einige alte AWT-Komponenten
7 Programmieren mit Swing 7 beim Programmieren mit Swing benutzt man ausgiebig das Prinzip der Vererbung z.b. myinterface extends JFrame... die Benutzeroberfläche wird durch erweitern und kombinieren von Swing-Klassen aufgebaut die verwendenten Bibliothektsklassen enthalten Code, der den Programmcode des Anwendungsprogrammierers aufrufen kann, wenn das Grafikelement bei der Programmausführung benutzt wird z. B. Mausklick
8 Das java.awt Package (1) 8 ca. 40 GUI-Klassen: Container Graphikelemente (widgets), die andere Graphikelemente aufnehmen können Components z.b. Panel, Window, Dialog, Frame atomare Graphikelemente z.b. Button, Menu, List Layout Manager 5 Klassen u. 1 Interface, um Komponenten in Containern anzuordnen einfache Graphikelemente z.b. Point, Rectangel, Polygon
9 Das java.awt Package (2) 9 event handling classes Event-Klassen kapseln Informationen über GUI-Benutzereingaben z.b. KeyEvent, MouseEvent listener classes Listener-Klassen bekommen Event-Objekte von den GUI-Klassen zugestellt und reagieren auf die Benutzereingaben z.b. KeyListener, ActionListener
10 Components und Container 10 Container können Components enthalten alle Container sind Components einige Components sind auch Container Container und Component sind abstrakte Klassen Frame meistens Basis für Applikationen Applet ist eine Unterklasse von Panel
11 Der Frame Container (1) 11 Java GUI-Applikationen benutzen in der Regel Frame um ein Hauptfenster zu öffnen Frame = einfaches, größenänderbares Fenster mit Rand, Titelleiste u. ev. Menüleiste
12 Der Frame Container (2) 12 Verwendung von Frame Instanz der Klasse Frame oder einer Unterklasse von Frame erzeugen new Frame() oder z.b. new MyFrame() Methode settitle() aufrufen Methode setsize() aufrufen Fenstergröße ist zunächst 0! Methode setvisible() aufrufen neu erzeute Fenster sind zunächst unsichtbar!
13 Programmbeispiel - Frame 13 import java.awt.frame; public class MyFrame extends Frame { public static void main(string args[]) { new MyFrame(); public MyFrame() { settitle("andy's Frame"); setsize(200, 200); setvisible(true);
14 komponenten hinzufügen (1) 14 Aufgabe fürs Praktikum eine einfache GUI-Anwendung schreiben, die für jeder AWT-Komponente eine Instanz zu einem Frame hinzufügt Methode add() wie in diesem Beispiel:
15 Layout Manager 15 Layout Manager ordnen Components in Containern an verschiedene Layout Manager benutzen dazu verschiedene Regeln implementieren das LayoutManager-Interface add-methode des Containers reicht Component an L. M. weiter einem Container kann ein L. M. zugeordnet werden
16 Die LayoutManager-Klassen 16 BorderLayout teilt Container in 5 Bereiche North, South, East, West, Center CardLayout erzeugt sich nach Art von Karteikarten überlappende Container FlowLayout ordnet Componenten zeilenweise hintereinander an GridBagLayout flexibel und komplex - etwa wie eine Tabelle in MS- Word BoxLayout vertikale und horizontale Anordnung in einer Box
17 Der Panel Container 17 Ein Panel sieht man nicht Nutzen: Aufteilen eines Fensters in Bereiche jedem Bereich kann ein eigener Layout- Manager zugeordnet werden default: FlowLayout Beispiel:
18 Programmcode zum Beispiel (1) 18 import java.awt.*; public class PanelTest extends Frame { public static void main(string args[]) { new PanelTest(); public PanelTest() { settitle("panel Test"); setlayout(new FlowLayout()); Panel borderpanel = new Panel(); borderpanel.setlayout(new BorderLayout()); borderpanel.setbackground(color.blue); borderpanel.add("north", new Button("north")); borderpanel.add("south", new Button("south")); borderpanel.add("east", new Button("east")); borderpanel.add("west", new Button("west")); borderpanel.add("center", new Button("center"));...
19 Programmcode zum Beispiel (2) 19 add(new Label("BorderLayout")); add(borderpanel); Panel flowpanel = new Panel(); flowpanel.setlayout(new FlowLayout()); flowpanel.setbackground(color.red); flowpanel.add(new Checkbox("First")); flowpanel.add(new Checkbox("Second")); flowpanel.add(new Checkbox("Third")); add(new Label("FlowLayout")); add(flowpanel); Panel gridpanel = new Panel(); gridpanel.setlayout(new GridLayout(2, 2)); gridpanel.setbackground(color.green); gridpanel.add(new TextField("First"));...
20 Programmcode zum Beispiel (3) 20 gridpanel.add(new TextField("Second")); gridpanel.add(new TextField("Third")); gridpanel.add(new TextField("Fourth")); add(new Label("GridLayout")); add(gridpanel); setsize(200, 300); setvisible(true);
21 Das GridBagLayout 21 ist sehr flexibel teilt den Container in ein Netz von Zellen Components können mehr als eine Zelle bedecken benutzt ein GridBagConstraints-Objekt zur individuellen Beeinflussung des Layouts einzelner Components: gridx, gridy gibt die Plazierungsstelle an gridwidth, gridheight Anzahl der von der Component eingenommenen Zeilen und Spalten weightx, weighty gibt an, mit welcher Wichtung eine Component den zusätlichen Platz bei der Vergrößerung des Fensters beanspruchen darf
22 Das GridBagLayout (2) 22 fill gibt an, welcher Flächenanteil der angegebenen Zellen bei einer Gößenänderung (resize) benutzt werden soll Beispiel: anchor Position innerhalb einer Zelle an der die Komponente verankert ist
23 Beispiel zu GridBagLayout (1) 23 import java.awt.*; public class GridTest extends Frame { TextArea t = new TextArea(5, 30); TextArea ti = new TextArea(2, 20); Button send = new Button("Send"); Button clear = new Button("Clear"); GridBagConstraints c = new GridBagConstraints(); GridBagLayout l = new GridBagLayout(); public GridTest() { settitle("gridbaglayout Demo"); setlocation(200, 300); setlayout(l); c.weightx = 50; c.weighty = 50; c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.CENTER;
24 Beispiel zu GridBagLayout (2) 24 c.gridx = 1; c.gridy = 1; c.gridwidth = 10; c.gridheight = 10; c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.WEST; l.setconstraints(t, c); t.seteditable(false); add(t); c.gridx = 1; c.gridy = 11; c.gridwidth = 7; c.gridheight = 4; c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.WEST;
25 Beispiel zu GridBagLayout (3) 25 l.setconstraints(ti, c); add(ti); c.gridx = 8; c.gridy = 11; c.gridwidth = 3; c.gridheight = 2; c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.EAST; l.setconstraints(send, c); add(send);
26 Beispiel zu GridBagLayout (4) 26 c.gridx = 8; c.gridy = 13; c.gridwidth = 3; c.gridheight = 2; c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.EAST; l.setconstraints(clear, c); add(clear); setsize(300, 200); setvisible(true); public static void main(string args[]) { new GridTest();
27 Zeichenoperationen 27 Zeichnen innerhalb eines Fensters Methode paint() überschreiben z.b. in Frame paint() bekommt ein Objekt der Klasse Graphics übergeben das Objekt enthält die Zeichenfläche und die methoden um auf dieser Fläche zu zeichnen Zeichenmethoden: drawline drawoval drawpolygon draw3drect drawarc drawbytes drawchars drawimage drawrect drawroundrect drawstring fill3drect fillarc filloval fillpolygon fillrect fillroundrect
28 Die Klasse Color 28 wird hauptsächlich benutzt, um Components einzufärben Methoden setforeground() und setbackground() falls die Component ein Container ist, nehmen alle darin enthaltenen Components die gesetzte Farbe an Methode setcolor beeinflußt alle folgenden drawing-methoden der Klasse Graphics Constructor nimmt RGB-Werte entgegen
29 Das Java-Event-Modell 29 GUI-Programme werden durch Ereignisse gesteuert Konzept des event driven programming user events Tastatur, Maus system events z.b. Abschluß eines Verarbeitungsschritts Konzept Event-Generatoren lösen Events aus Event-Listener werden benachrichtigt Realisierung in Java durch JDK-Packages java.awt.event enthält event handling framework event-klassen und Interfaces
30 Teilnehmer beim Event Handling 30 drei Objekte sind beteiligt event object delivered to event listener event source Event-Quelle event listener (receiver) muß sich bei event source registrieren Konzept events are fired from a source
31 Beispiel zum Event Handling 31 Wo sind Event source object und listener? import java.awt.*; import java.awt.event.*; public class MyFrameWithExit extends Frame implements ActionListener { public static void main(string args[]) { new MyFrameWithExit(); MyFrameWithExit() { settitle("heinz' Frame"); setsize(200, 100); Button b = new Button("Exit"); b.addactionlistener(this); add(b); setvisible(true); public void actionperformed(actionevent e) { System.exit(0);
32 Event-Arten 32 Typen der Event-Objekte low level events grundlegende Event-Arten Taste gedrückt, Taste losgelassen (Maus, Tastatur) Bewegung der Maus Eintreten und Verlassen des Mauszeigers (Fenster) semantic events Event-Arten für spezielle Components Bewegen eines Scrollbar Testeingabe Zustandsänderung einer Checkbox oder eines Radio Button
33 Typen der Event-Objekte 33 MouseEvent Bewegung der Maus, Bedienung der Maustasten ActionEvent Menüpunkt ausgewählt, Button gedrückt FocusEvent Eingabefokus gewonnen, verloren AdjustmentEvent Einstellung eines Scrollbar ItemEvent Anwahl eines Menüpunkts KeyEvent Tastaturtaste gedrückt, losgelassen TextEvent WindowEvent
34 Events Listeners und Callbacks 34 Event-Quellen besitzen Methoden zur Registrierung von Listener-Objekten addxxxlistener( listener ) listener muß XXXListener implementieren Beispiel: class MainClass { public static void main(string[] args) { Button b = new Button(); b.addactionlistener(new MyListener()); class MyListener implements ActionListener { public void actionperformed(actionevent event) { System.out.println("The button was pressed");
35 Dialogs 35 Dialogfenster 2 Arten modal oder nicht modal modal: zwingt Benutzer zur Eingabe setzt einen parent frame voraus Erzeugung Unterklasse von java.awt.dialog definieren das BorderLayout ist voreingestellt Größe mit getsize() setzen setvisible() aufrufen der Konstruktor muß den Oberklassenkonstruktor aufrufen übergibt parent frame, title, und flag (entweder auf modal (true) oder modeless (false) gesetzt)
36 Dialog - Beispiel (1) import java.awt.*; import java.awt.event.*; 36 public class DialogTest extends Frame implements ActionListener { public static void main(string args[]) { new DialogTest(); DialogTest() { settitle("dialog Test"); setlayout(new FlowLayout()); Button dialogbutton = new Button("Dialog"); dialogbutton.addactionlistener(this); add(dialogbutton); Button exitbutton = new Button("Exit"); exitbutton.addactionlistener(this); add(exitbutton); setsize(200, 200); show();
37 Dialog - Beispiel (2) public void actionperformed(actionevent event) { 37 if (event.getactioncommand().equals("exit")) System.exit(0); else if (event.getactioncommand().equals("dialog")) new MyDialog(this); class MyDialog extends Dialog implements ActionListener { public MyDialog(Frame owner) { super(owner); setmodal(false); setlayout(new FlowLayout()); Button okbutton = new Button("OK"); okbutton.addactionlistener(this); add(okbutton); setsize(100, 100); show();
38 FileDialog 38 public void actionperformed(actionevent event) { if (event.getactioncommand().equals("ok")) dispose(); spezieller Dialog - FileDialog: public void actionperformed(actionevent event) { if (event.getactioncommand().equals("open...")) { FileDialog openfile = new FileDialog(this, "Open", FileDialog.LOAD); openfile.setdirectory("."); openfile.show(); String selectedfile = openfile.getfile(); if (selectedfile!= null) System.out.println("Selected file: " + selectedfile);
39 Unterklassen von Komponenten 39 für Components mit speziellen Eigenschafen, z.b. ein TextField, das nur alphabetische Zeichen zulässt: class AlphaTextField extends TextField implements KeyListener { String currentvalue = ""; public AlphaTextField() { super(10); public void keypressed(keyevent event) { public void keyreleased(keyevent event) { public void keytyped(keyevent event) { if (event.getkeychar() >= '0' && event.getkeychar() <= '9') { settext(currentvalue); else { currentvalue = gettext();
40 40 Verwendung von Callback- Methoden ein Objekt benachrichtigt andere Objekte beim Eintreffen eines Ereignisses wie beim Event Handling, aber mit Übergabe einer anwendungsdefinierten Nachricht z.b. das AlphaTextField aus dem letzten Beispiel soll ein anderes Objekt beim Tippen eines nicht-alpha-zeichens benachrichtigen und dabei das falsch eingegebene Zeichen übermitteln z.b. zur Anzeige eines Dialogfensters Input Error empfohlene Vorgehensweise caller muß verlangen, das ein called Object ein bestimmtes Interface implementiert Wie?
41 Callback - ein Beispiel (1) interface AlphaInputError { 41 public void inputerror(char errorinput); public class AlphaTextFieldTest2 extends Applet implements AlphaInputError { AlphaTextField2 atf = null; String errorstring = ""; public void init() { atf = new AlphaTextField2(this); setlayout(new FlowLayout()); add(atf); atf.addkeylistener(atf); public void inputerror(char errorinput) { errorstring = "input error: " + new Character(errorInput).toString(); repaint(); public void paint(graphics g) { g.drawstring(errorstring, 10, 60); errorstring = " ";
42 Callback - ein Beispiel (1) 42 class AlphaTextField2 extends TextField implements KeyListener { String currentvalue = ""; AlphaInputError errorlistener = null; // hier nur einer möglich! public AlphaTextField2(AlphaInputError errorlistener) { super(10); this.errorlistener = errorlistener; public void keypressed(keyevent event) { public void keyreleased(keyevent event) { public void keytyped(keyevent event) { if (event.getkeychar() >= '0' && event.getkeychar() <= '9') { settext(currentvalue); errorlistener.inputerror(event.getkeychar()); else { currentvalue = gettext();
43 Swing 43 irgendwann war das AWT nicht mehr gut genug... seit Java 1.1 gibt es Swing = stark erweiterte GUI-Bibliothek mit Buttons, die Bilder enthalten können Components mit Rändern Menüs auch in Applets und Panels Trees und Tables TabbedPane ersetzt das CardLayout spezielle Dialogfenster Color Chooser Übungsaufgabe: schreiben Sie einen einfaches Texteditor mit Hilfe der Swing- Bibliotheken
GUI-Programmierung - Einführung
GUI-Programmierung - Einführung Kernkonzepte Komponenten (components) ereignisgesteuerte Programmierung (event driven programming) Layout 1 Frames and Components windows (frames) menus labels checkboxes
MehrObjektorientierte 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
MehrGRAFISCHE BENUTZERSCHNITTSTELLEN
Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind
MehrGraphische 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
MehrNTB 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
MehrEinfü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
MehrGUI 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
MehrGUI-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
MehrZentrale 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
MehrGUI Programmierung in Java
vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf
MehrAbstract Windowing Toolkit
Abstract Windowing Toolkit import java.awt.* Package aus der java Klassenbibliothek, stellt Klassen für graphische Benutzeroberflächen bereit Die Komponenten (Button, TextField usw.) basieren auf den Implementationen
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
MehrJava 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
MehrGUI-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
MehrLayout 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
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
MehrEinfü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.
MehrGrundlagen 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
MehrGrafische Benutzeroberflächen mit Swing
Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,
MehrGrafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung
Grafikausgabe mit dem Abstract- Windowing-Toolkit Eine Einführung Inhalt Einführung Grundlegende Eigenschaften des Abstract-Windowing- Toolkit (AWT) Grundlagen Grafikausgabe Linien zeichnen Rechtecke zeichnen
MehrProgrammieren 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,
MehrInstitut 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
MehrEinfü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
MehrEreignisse (Events) in Java
Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird
MehrEinführung in die Programmierung für NF. Grafische Benutzeroberflächen
Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.
MehrZiel 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
MehrProgrammieren 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"
MehrSwing Lernen am Code Teil 1
Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster
MehrKap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster
Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.
MehrSession 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
MehrZiele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrIst eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt
GUI GUI = Graphical User Interface Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt Gute Übersicht über alle Funktionalitäten
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrHochschule 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:
MehrJavakurs 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
MehrGUI-Programmierung in Java
GUI-Programmierung in Java Jan Pihl, Daniel Bugdalle 1. Einleitung Betreuer: Thomas Ströder Die Bedienung von Software stellt sich oft als etwas schwierig für viele Nutzer heraus, wenn es keine grafische
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrUniversität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek
Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)
MehrEinfü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
MehrKapitel 8: Grafische Benutzerschnittstellen
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrEinbindung der Tastatur
Einbindung der Tastatur Auch die Tastatur kann man wie die Maus zur interaktiven Programmsteuerung verwenden. Bei der Maus ist stets klar, welche grafische Komponente bei einem Klick oder einer Bewegung
MehrGUI 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
MehrEinstieg 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
MehrJava Projekt: Tic Tac Toe + GUI
Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel
MehrProgrammieren II. Menü-Klassen in Java. Menüs. Menüs. Action. Dr. Klaus Höppner. GridBagLayout. Hochschule Darmstadt SS 2008
Programmieren II Menüs Dr. Klaus Höppner Action Hochschule Darmstadt SS 2008 GridBagLayout 1 / 30 2 / 30 Menüs Menü-Klassen in Java In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs:
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrSwing :Komponenten I (Teil 2)
l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde
MehrApplets. 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
MehrEinige vorgefertigte Layout-Manager:
Einige vorgefertigte Layout-Manager: FlowLayout LayoutManager GridLayout BorderLayout LayoutManager2 CardLayout GridBagLayout GridBagConstraints 945 FlowLayout: Das Default-Layout der Klasse Panel. Komponenten
MehrBenutzeroberflächen. Java Teil 4
Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in
MehrTutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane
Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse
MehrKlausur vom 14. Juni 2004. Informatik 4
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik, Burgdorf Klasse: EV02-1 Name, Vorname: Klausur vom 14. Juni
MehrEin 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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrSWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?
Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?
MehrEinfü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
MehrGroupLayout 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
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrEAD 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,
MehrProf. 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
MehrEreignisbehandlung 21
Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen
Mehr...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
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrJButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 30 2 / 30 JButton, JCheckBox, JRadioButton In Swing existieren drei wesentliche Klassen für Schaltflächen: JButton für normale
MehrAK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben
MehrBeispiel: Eine Choice-Liste...
Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrMenüs Action GridBagLayout. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 31
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 31 Menüs Action GridBagLayout 2 / 31 Menüs In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs: Menüleisten
Mehr11. 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
MehrArchitekturbeschreibung Koala Editor
Architekturbeschreibung Koala Editor Package: de.hsos.koala Enthält die Main Klasse. Klasse: Main Wird beim Start des Programms ausgeführt und öffnet ein neues Editor-Fenster. Package: de.hsos.koala.actions
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrXcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X
Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,
Mehr11. 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
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrGraphical User Interfaces
Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard
MehrWas passiert, wenn Button "Ok?" mit Maus angeklickt?
Ein Beispiel-Frame Was passiert, wenn Button "Ok?" mit Maus angeklickt? gar nichts!!! FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender Ereignisverarbeitung 27. April 2016 1 Implementierung
MehrFunktionale 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
MehrDas Model View Controller (MVC) Konzept
Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrGoogle Android API. User Interface. Eine knappe Einführung
Google Android API User Interface Eine knappe Einführung Google Android API User Interface Designelement Wofür Klasse/Package View Basisklasse für alle Designelemente public class android.view.view Viewgroup
MehrProgrammieren II. Die Klasse JList. Vorlesung 5. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester JList.
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 37 JList JTable Layout-Manager GridBagLayout 2 / 37 Die Klasse JList Die Klasse JList stellt einen Container für Auswahllisten
MehrJava - 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
MehrAbstract Window Toolkit
Abstract Window Toolkit Thomas Röfer Desktop-Metapher AWT und Swing Applets und Anwendungen Rahmen und Menüs Komponenten und Container Panels und Layouts Grafik und Schriften Ereignisbehandlung Rückblick
Mehr5. Das Java AWT (II) Components und Container
5. Das Java AWT (II) Components und Container OO-Graphics in Java Das Java AWT (II) 111 AWT Hierarchie (II) Checkbox Choice Object List Button Component Canvas Panel Applet Container ScrollPane Dialog
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrFachhochschule Fulda Fachbereich Angewandte Informatik. Hausarbeit Seminar: Java3D. Java Layout-Manager WS 2002/2003
Fachhochschule Fulda Fachbereich Angewandte Informatik Hausarbeit Seminar: Java3D Java Layout-Manager WS 2002/2003 Verfasser: m.dziadek@gmx.de Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung...
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
MehrTag 9: Grafische Benutzeroberflächen
Kapitel 10 Tag 9: Grafische Benutzeroberflächen In Java gibt es zunächst zwei verschiedene Möglichkeiten Klassen für die Grafikausgabe zu verwenden. Eine Möglichkeit ist AWT (=Abstrakt Windows Toolkit)
Mehr1. Konventionelle Ein-/Ausgabebetonte Programmierung
1. Konventionelle Ein-/Ausgabebetonte Programmierung 1.1 Realisierung grafischer Benutzungsoberflächen Beispiel Java AWT und Swing 1.2 Grundlagen der 2D-Computergrafik Beispiel Java-Grafikprogrammierung,
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Mittwoch Inhaltsübersicht Eigene Klassen definieren Vererbung Abstrakte Klassen Schnittstellen Polymorphismus Designbeispiele: Java-AWT Strings in Java Funktionen und Funktionsplotter
MehrProgrammiertechnik GUI Programmierung mit Java Swing
Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 haase@htwg-konstanz.de Tel: 07531/206-720 Oliver Haase Hochschule Konstanz
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
Mehrvon Anja Austermann Drag and Drop
von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
Mehr