Kurs OPR. Objektorientierte Programmierung

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Kurs OPR. Objektorientierte Programmierung"

Transkript

1 Kurs OPR Objektorientierte Programmierung Lektion: 008-GUI-Komp., eigenst. Programme Zürcher Hochschule für Angewandte Wissenschaften Mitglied der Fachhochschule Zürich Version 1.4

2 Inhaltsverzeichnis 1 Erzeugung Grafischer Benützeroberflächen (GUI) Ziele AWT und Swing Design von Benützer-Interfaces Professionelles Programmieren 5 2 Eigenständige Programme Ziele Einführung Applikationen in Java Applikationen mit eigener graphischer Benützeroberfläche (GUI) Kochbuchrezept für die Umwandlung Applets zu Applikationen Menus 13 GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 2

3 1 Erzeugung Grafischer Benützeroberflächen (GUI) 1.1 Ziele Sie kennen die Klassenhierarchie der GUI-Komponenten im AWT. Sie kennen den Unterschied von AWT uns Swing. 1.2 AWT und Swing Das AWT (Abstract Window Toolkit) stellt eine ganze Reihe von Komponenten für graphische Benützeroberflächen (GUI: Graphical User Interface) zur Verfügung. Diese Komponenten sind einfach zu handhaben und erlauben bereits, anspruchsvolle GUIs zu entwickeln. Für die Entwicklung professioneller GUIs stellt Java seit der Version 1.2 zusätzlich die sogenannten Swing-Klassen zur Verfügung: Diese stellen dieselben Komponenten wie in AWT zur Verfügung. Die entsprechenden Swing- Komponenten beginnen jeweils mit einem "J", z.b. JButton, JTextField, JScrollBar etc. Daneben weist Swing noch etliche zusätzliche Komponenten für den professionellen Einsatz auf (z.b. Tabellen, Baumstrukturen, uam.) Im Rahmen dieser Vorlesung werden wir uns auf die AWT-Komponenten beschränken, werden aber auf die entsprechenden Swing-Komponenten hinweisen. Swing-Applets: Wenn Sie Swing-Komponenten verwenden, beachten Sie folgende Änderungen an Ihrem Applet import javax.swing.*; statt java.applet.applet; Verwenden Sie Klasse JApplet statt Applet. Default-Layout bei JApplet ist BorderLayout, nicht FlowLayout wie bei Applets. In der Methode müssen Sie als Erstes super.paint(g); aufrufen, um alle Swing- Komponenten des Applets zeichnen zu lassen. Die Klassenhierarchie der GUI-Komponenten von Java sind in Abbildung 1 dargestellt. Die Swing-Komponenten sind alle von JComponent abgeleitet. GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 3

4 Object Component Button Canvas Checkbox Choice Container Panel Scrollpane Window JComponent Label List Scrollbar TextComponent Dialog Frame JWindow FileDialog JDialog JFrame TextArea TextField Abbildung 1: GUI-Komponenten in Java 1.3 Design von Benützer-Interfaces Das Design von ergonomischen Benützer-Interfaces ist eine Wissenschaft für sich. Professionelle integrierte Entwicklungsumgebungen (IDE) enthalten graphischen GUI-Builder Komponenten können per Maus selektiert und arrangiert werden Code dazu wird automatisch erzeugt Es gibt zahllose Variationen beim GUI-Design. Empfehlenswert: Einen Prototyp des GUIs erstellen und mit Benützer testen. GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 4

5 1.4 Professionelles Programmieren GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 5

6 2 Eigenständige Programme 2.1 Ziele Sie können Applikationen in Java schreiben. Sie können die wichtigsten Unterschiede zwischen einem Applet und einer Applikation erklären. Sie können ein gegebenes Applet in eine eigen-ständige Applikation umwandeln und umgekehrt. Sie setzen Menus in Ihren Applikationen richtig und situationsgerecht ein. 2.2 Einführung Bisher haben wir ausschliesslich Applets programmiert. Applets müssen in einer HTML-Seite eingebettet sein und benötigen einen Browser, um lauffähig zu sein: JVM Browser Betriebssystem public class MeinProgramm extends Applet{ public void init(){... public void paint(graphics g) {... Eingabe/Ausgabe Browser HTML-Seite Applet ok public void actionperformed (ActionEvent e){... Abbildung 2: Ablauf eines Applets Der Browser ruft nach dem Aufstarten des Applets dessen init()-methode auf. Bei Bedarf ruft der Browser sodann die Methoden paint(graphics g) und allfällige Listenermethoden (z.b. actionperformed(actionevent) ) auf. Applikationen sind eigenständige Programme. Sie brauchen keinen Browser. Sie laufen vollständig unabhängig von anderen Programmen. Applikationen werden gestartet durch Anklicken oder einen entsprechenden Befehl auf der Kommandozeile. Applikationen können normalerweise nicht über das Internet gestartet werden. Sie können ebenfalls die AWT-Bibliothek benützen (ausser Applet-Klassen). Applikationen haben mehr Rechte bezüglich Zugriff auf lokale Ressourcen (Dateien). GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 6

7 2.3 Applikationen in Java Applikation mit Ein-/Ausgabe über die Kommandozeile: Eingabe/Ausgabe JVM Betriebssystem public class Gruss{ public static void main(string[] args) {... Kommandozeile > java Gruss Peter Hallo Peter > Abbildung 3: Kommandozeilen-Applikation Einfaches Beispiel: public class Gruss { public static void main(string[] args){ System.out.println("Hallo " + args[0]); Programm 1: Applikation Gruss Jede Applikation muss eine Klassenmethode mit der Signatur: public static void main(string[] args) {... enthalten. Diese main-methode ist der Startpunkt jeder Applikation. String[] args ist ein String-Array, der allfällige Argumente von der Kommandozeile enthält. Die Arraygrösse entspricht genau der Anzahl übergebener Argumente. Das Programm Gruss kann nun von der Kommandozeile aus ausgeführt werden mit dem Befehl: java Gruss java ruft den Java-Interpreter auf und übergibt ihm als Argument den Namen des auszuführenden Programms. Der Java-Interpreter interpretiert sodann den Byte-Code des Programms Gruss. Die Ausführung des Programms Gruss beginnt mit der main-methode der Klasse Gruss. Allgemein wird eine Kommandozeilen-Applikation in Java so aufgerufen: java Klassenname { Argument EBNF 1: Aufruf einer Applikation Klassenname Name des Programms (= Name der public-klasse, ohne ".class") GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 7

8 { Argument 0,1 oder mehrere Argumente. Diese werden im String-Array args der Methode main übergeben. Die Anzahl der übergebenen Argumente steht in der Variablen args.length Aufgabe: Schreiben Sie ein Echo-Programm, das die Eingaben auf der Kommandozeile auf den Bildschirm schreibt. Der folgende Aufruf des Programms Echo: java Echo Das ist ein Test sollte als Resultat folgenden Output liefern: Das ist ein Test Lösung: Die main-methode Sie entspricht dem Hauptprogramm in anderen Programmiersprachen. Der Programmablauf beginnt immer mit der main-methode. Die main-methode kann weitere static-methoden direkt aufrufen. Sie kann zudem beliebige Objekte erzeugen. Als erstes erzeugt die main-methode normalerweise ein Objekt der ganzen Applikation, d.h. ein Objekt derjenigen public-klasse, in der die main-methode selbst enthalten ist. Dann ruft die main-methode eine Methode des erzeugten Applikations-Objektes auf. Bei Applikationen, die keine eigene Benützeroberfläche erzeugen, übernimmt die main-methode die Steuerung des gesamten Programmablaufs und wird erst verlassen, wenn alle Arbeiten im Programm beendet sind. GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 8

9 Bei Applikationen mit eigener grafischer Benützeroberfläche spielt die main- Methode nur eine temporäre Rolle. Nachdem sie die nötigen Objekte der Applikation erzeugt und die notwendigen Methoden aufgerufen hat, wird sie beendet. Der Programmablauf wird sodann von den erzeugten Objekten gesteuert. Ein Typischer Aufbau einer Applikation sieht somit folgendermassen aus: public class Applikation { public static void main(string[] args) { Applikation a = new Applikation(); a.tuetwas(); private void tuetwas() {... Ablauf des Programms: Java-Interpreter ruft die main-methode der Klasse Applikation auf. main erzeugt eine Instanz der Klasse Applikation main ruft sodann eine Methode im erzeugten Objekt auf. Zur Erinnerung: Bei einem Applet wird das erste Objekt (das Applet-Objekt) direkt vom Browser erzeugt. 2.4 Applikationen mit eigener graphischer Benützeroberfläche (GUI) Java-Applikationen können ebenfalls das Abstract Window Toolkit (AWT) verwenden. JVM Betriebssystem public class MeinProgramm extends Frame implements ActionListener{ public static void main(string[] args){ MeinProgramm p = new MeinProgramm(); public void paint(graphics g){... public void actionperformed(actionevent e){... Eingabe/Ausgabe MeinProgramm ok Abbildung 4: GUI-Applikation Dazu muss die Applikation zuerst ein eigenes Fenster erzeugen. Klasse Frame. Klasse Frame Verwaltet ein Fenster mit Scrollbars und Menubalken. Klassenhierarchie: Aus der Klassendiagramm der GUI-Komponenten auf Seite 4 sieht man, dass die Klasse Frame von den Klassen Component-Container-Window abgeleitet ist. GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 9

10 Ein Frame kann sogenannte WindowEvents erzeugen. Um diese zu behandeln, muss die Applikation einen WindowListener implementieren. Dazu muss sie die folgenden 7 Methoden deklarieren: public void windowopened(windowevent event) wird aufgerufen, nachdem das Fenster das erste Mal sichtbar geworden ist. public void windowclosing(windowevent event) wird aufgerufen, wenn der Benützer das Fenster schliessen möchte. public void windowclosed(windowevent event) wird aufgerufen, sobald Fenster effektiv geschlossen ist. public void windowiconified(windowevent event) wird aufgerufen, nachdem das Fenster zu einem Icon verkleinert worden ist. public void windowdeiconified(windowevent event) wird aufgerufen, sobald der Benützer das Icon wieder geöffnet hat. public void windowactivated(windowevent event) wird aufgerufen, sobald das Fenster aktiv ist, d.h. den Fokus erhält. public void windowdeactivated(windowevent event) wird aufgerufen, sobald Fenster inaktiv geworden ist, d.h. den Fokus abgegeben hat. Konstruktoren: Frame() Frame(String Fenstertitel) erzeugt ein Fenster ohne Titel erzeugt ein Fenster mit Titel Wichtige Methoden (zum Teil von Klasse Window geerbt) setsize(int breite, int hoehe) setzt Fenstergrösse show() macht Fenster sichtbar setvisible(boolean b) macht Fenster un-/sichtbar toback() schiebt Fenster nach hinten tofront() schiebt Fenster nach vorne pack() setzt Fenster auf bevorzugte Grösse settitle(string titel) setzt Fenstertitel setmenubar(menubar menuleiste) setzt neue Menuleiste des Fensters Beispiel: Das Programm PlayBalloon soll als eigenständige Applikation programmiert werden (siehe Programm 2 Seite 12): Wir gehen aus vom PlayBalloon-Applet auf Seite Fehler! Textmarke nicht definiert.. Will man PlayBalloon als eigenständige Applikation programmieren, muss Folgendes am Applet-Code geändert werden: PlayBalloon kann nicht mehr von Applet abgeleitet werden Das hat zur Folge, dass das Applet-Fenster nicht mehr zur Verfügung steht. Die Applikation muss deshalb ein eigenes Fenster erzeugen. Dies erreicht man wie folgt: Die Applikation wird von der Klasse Frame anstatt Applet abgeleitet. Die Applikation muss zusätzlich einen WindowListener implementieren. Die Applikation braucht zusätzlich die Methode public static main(string[] args), die Folgendes macht: Sie erzeugt zuerst ein PlayBalloon-Objekt, und damit ein neues Frame. GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 10

11 Sie setzt die Grösse des Frames. Sie macht das Frame sichtbar. Die init()-methode wird durch den Konstruktor PlayBalloon() ersetzt. Dieser wird beim Erzeugen eines PlayBalloon-Objekts aufgerufen. Im neuen Konstruktor wird zusätzlich zur früheren init()-methode: der Frame-Titel gesetzt mit settitle(titel) der Layout-Manager bestimmt mit setlayout(layout) das MyBalloon-Objekt als WindowListener bei sich selbst registriert Als WindowListener muss die Applikation 7 WindowListener-Methoden deklarieren. Als einzige der WindowListener-Methoden wird windowclosing implementiert: In ihr wird das Programm beendet mit dem Befehl: System.exit(0); Die restlichen WindowListener-Methode bleiben leer. Beachten Sie: Klasse Balloon bleibt bei der Umstellung vom Applet zur Applikation unberührt! Das PlayBalloon-Programm als eigenständige Applikation: import java.awt.*; import java.awt.event.*; public class PlayBalloon extends Frame implements ActionListener, WindowListener { private Button grow, shrink; private Balloon myballoon; public static void main(string[] args) { PlayBalloon f = new PlayBalloon(); f.setsize(300,300); f.setvisible(true); public PlayBalloon() { settitle("balloon"); setlayout(new FlowLayout()); grow = new Button("Grow"); add(grow); grow.addactionlistener(this); shrink = new Button("Shrink"); add(shrink); shrink.addactionlistener(this); myballoon = new Balloon(20, 50, 50); this.addwindowlistener(this); public void actionperformed (ActionEvent event) { GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 11

12 if (event.getsource() == grow){ myballoon.changesize(10); if (event.getsource() == shrink){ myballoon.changesize(-10); repaint(); public void paint (Graphics g) { myballoon.display(g); public void windowclosing(windowevent event) { System.exit(0); public void windowiconified(windowevent event) { public void windowopened(windowevent event) { public void windowclosed(windowevent event) { public void windowactivated(windowevent event) { public void windowdeiconified(windowevent event) { public void windowdeactivated(windowevent event) { class Balloon { private int diameter, xcoord, ycoord; public Balloon (int initialdiameter, int initialx, int initialy){ diameter = initialdiameter; xcoord = initialx; ycoord = initialy; public void changesize (int change) { diameter = diameter+change; public void display (Graphics g) { g.drawoval (xcoord, ycoord, diameter, diameter); Programm 2: PlayBalloon-Applikation GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 12

13 2.5 Kochbuchrezept für die Umwandlung Applets zu Applikationen Umwandlung eines Java-Applets zu einer Java-Applikation: Methode init() in einen Konstruktor (d.h. gleicher Name wie Klasse) ohne Parameter umwandeln. Nicht vergessen: Returntyp bei Konstruktor entfernen. extends Applet durch extends Frame ersetzen Main-Methode schreiben: public static void main(string[] args) muss static sein muss ein Objekt der eigenen Klasse (d.h. des Programms) erzeugen damit wird das entsprechende Frame wird erzeugt muss Grösse der Frames setzen mit setsize(breite, hoehe); muss Frame sichtbar machen mit setvisible(true); Import der Klasse Applet löschen WindowListener implementieren und Applikation bei sich selbst als WindowListener registieren mit this.addwindowlistener(this); Layout-Manager auf FlowLayout ändern, falls gewünscht (Default-Layout für Frames ist BorderLayout) mit setlayout(new FlowLayout()); Kontrollieren, ob keine Methoden der Applet-Klasse mehr verwendet werden. Umwandlung einer Java-Applikation in ein Java-Applet: HTML-Seite mit applet-tag erzeugen. main-methode löschen extends Frame durch extends Applet ersetzen Klasse Applet importieren Konstruktor umbenennen in public void init() Layout-Manager auf Border-Layout setzen, falls gewünscht (Default-Layout für Applets ist FlowLayout) 2.6 Menus Applikationen können im Gegensatz zu Applets neben den anderen GUI-Komponenten auch Menus enthalten. Dazu braucht es eine sogenannte Menuleiste (Menubar). Das ist eine Leiste, an der die Menus aufgehängt sind. Menu-Item: So heissen die einzelnen Einträge eines Menus (können selbst wieder Untermenus sein) Die Klassenhierarchie der Menu-Komponenten ist in Abbildung 5 dargestellt. Klasse MenuComponent Sie ist die Superklasse aller Menu-Klassen, analog wie die Klasse Component Superklasse aller Klassen der GUI-Komponenten ist. GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 13

14 MenuComponent MenuItem Menu MenuBar Abbildung 5: Klassenhierarchie von Menu Klasse MenuItem erzeugt ein ActionEvent, falls das betroffene MenuItem ausgewählt wird und aktiv ist. Ein MenuItem-Listener muss nicht bei jedem MenuItem als Listener registriert sein. Er kann auch nur als Listener beim Menu selbst oder einem Submenu registriert sein. Die ActionEvents eines Items werden nämlich zum darüber liegenden Menu propagiert. Konstruktoren MenuItem(String label) erzeugt eine Menu-Item label MenuItem(String label, MenuShortCut shortcut) erzeugt ein Menu-Item label mit der zugeordneten Tastenkombination shortcut. Nützliche Methoden boolean isenabled() gibt zurück, ob Menu-Item aktiv ist setenabled(boolean b) Aktiviert oder deaktiviert ein Menu-Item String getlabel() gibt Label des Menu-Items zurück setlabel(string name) setzt Label des Menu-Items auf name addactionlistener(actionlistener o) registriert Object o als Listener setactioncommand(string command) setzt Befehlsname des Menu-Items auf command (dieser kann aus dem ActionEvent- Objekt mit getactioncommand() ausgelesen werden) MenuShortcut getshortcut() gibt Shortcut des Menu-Items zurück setshortcut(menushortcut c) setzt Shortcut des Menu-Items auf c Klasse Menu ist eine Subklasse von MenuItem Konstruktor: Menu(String label) erzeugt Menu mit Titel label Nützliche Methoden add(string label) erzeugt MenuItem label und fügt es ans Ende des Menus an MenuItem add(menuitem item) fügt Menu Item item zum Menu (item wird zudem zurückgegeben) addseparator() fügt einen Separator ans Menu an insert(menuitem item, int pos) fügt Item item an der Stelle pos ins Menu ein GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 14

15 insertseparator(int pos) fügt Separator an der Stelle pos ein Beispiel: Programm MenuBalloon Abbildung 6: Menu-Leiste des Programms MenuBalloon Der Konstruktor im Programm 3, MenuBalloon, erzeugt für die PlayBalloon-Applikation eine Menuleiste mit den Menus Size und Move wie in Abbildung 6. Das Menu Size hat die Einträge Grow und Shrink, Move die Einträge Left und Right. (Es wird angenommen, dass die Klasse Balloon zusätzlich die beiden Methoden moveleft() und moveright() implementiert): public class MenuBallon extends Frame implements ActionListener, WindowListener { private Balloon myballoon; private MenuItem growitem, shrinkitem; private MenuItem leftitem, rightitem; public static void main(string[] args) { MenuBalloon f = new MenuBalloon(); f.setsize(300,300); f.setvisible(true); public MenuBalloon() { settitle("balloon"); setlayout(new FlowLayout()); MenuBar menubar = new MenuBar(); // size-menu Menu sizemenu = new Menu("Size"); growitem = new MenuItem("Grow"); sizemenu.add(growitem); growitem.addactionlistener(this); shrinkitem = new MenuItem("Shrink"); sizemenu.add(shrinkitem); shrinkitem.addactionlistener(this); menubar.add(sizemenu); // move-menu Menu movemenu = new Menu("Move"); leftitem = new MenuItem("Left"); GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 15

16 movemenu.add(leftitem); leftitem.addactionlistener(this); movemenu.addseparator(); rightitem = new MenuItem("Right"); movemenu.add(rightitem); rightitem.addactionlistener(this); menubar.add(movemenu); setmenubar(menubar); myballoon = new Balloon(20, 50, 50); this.addwindowlistener(this); public void actionperformed (ActionEvent event) { if (event.getsource() == growitem){ myballoon.changesize(10); if (event.getsource() == shrinkitem){ myballoon.changesize(-10); if (event.getsource() == leftitem){ myballoon.moveleft(); if (event.getsource() == rightitem){ myballoon.moveright(); repaint(); Programm 3: Applikation MenuBalloon 5 Schritte, um eine Menuleiste zu erzeugen: 1. Neue Menuleiste erzeugen: MenuBar menubarname = new MenuBar(); 2. Neues Menu erzeugen: Menu menuname = new Menu(menuTitel); 3. Neuen Menueintrag erzeugen und ins Menu einfügen: MenuItem einitem = new MenuItem(itemName); menuname.add(einitem); einitem.addactionlistener(this); Objekt als Listener des entsprechenden Menu-Item-Events anmelden. 4. Schritt 3 für alle MenuItems wiederholen 5. Menu zu Menuleiste hinzufügen: menubarname.add(menuname); 6. Schritte 2 4 für alle Menus wiederholen MenuLeiste in Frame einfügen: setmenubar(menubarname); GUI-Komp., eigenst. Programme.doc 2010 InIT/ZHAW 16

Objektorientierte Software-Entwicklung

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

Mehr

Java Applikationen, Swing/JFC

Java Applikationen, Swing/JFC Java Applikationen, Swing/JFC Applets und Applikationen Kommandozeilen Anwendung Anwendungen mit GUI Swing/JFC Menus Weitere Komponenten Layouts Look & Feel Applets und Applikationen 2 von 70 Einführung

Mehr

NTB Druckdatum: 01.04.13 -

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

Mehr

Grundlagen der Programmierung APPLETS

Grundlagen 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

Mehr

Graphische Benutzungsoberflächen

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

Mehr

GUI Programmierung mit JAVA Swing

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

Mehr

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

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

Mehr

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik

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

Mehr

Programmieren 2 Selbststudium Semesterwoche 4

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"

Mehr

Java I Vorlesung 11 Graphische Oberflächen mit Swing

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

Mehr

Anwendungen mit GUI. INE2, Mittwoch / TH561 M. Thaler, Office TG208.

Anwendungen mit GUI. INE2, Mittwoch / TH561 M. Thaler, Office TG208. Anwendungen mit GUI INE2, Mittwoch 8.00-9.35/ TH561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Anwendungen meist Graphische Schnittstellen wie solche Schnittstellen

Mehr

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

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.

Mehr

Swing :Komponenten I (Teil 2)

Swing :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

Mehr

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

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,

Mehr

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

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

Mehr

Graphical User Interfaces

Graphical 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

Mehr

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

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

Mehr

Objektorientierte Programmierung

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:

Mehr

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt

Ist 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

Mehr

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

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

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE 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

Mehr

Swing Lernen am Code Teil 1

Swing 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

Mehr

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 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

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-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

Mehr

GUI Programmierung mit javax.swing

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

Mehr

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. 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:

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Toolbar 1. JToolBar 2. Menü 1. JMenuBar 2. JMenu 3. JMenuItem 4. KeyStroke 5. Beispiel JMenuDemo1 6. JCheckBoxMenuItem 7. JRadioButtonMenuItem 8. Beispiel JMenuDemo2 9. JPopupMenu 10. Beispiel

Mehr

Einstieg in die Informatik mit Java

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

Mehr

Javakurs für Fortgeschrittene

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

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

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

Mehr

Packages. Man kann mehrere Klassen in eine package zusammenfassen.

Packages. Man kann mehrere Klassen in eine package zusammenfassen. Packages Man kann mehrere Klassen in eine package zusammenfassen. Diese müssen dann in einem Unterverzeichnis liegen, dessen Name der Packagename ist. Jede Datei der Package muss mit package ; beginnen,

Mehr

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

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

Mehr

Einführung in die Programmierung Blockkurs Java

Einfü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

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-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

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

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,

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 19. 25. Februar 2003 Donnerstag Inhaltsübersicht Java pur die Java-Welt außerhalb von BlueJ Adressierung von Klassen und Paketen Java Applications Klassenmethoden und -variablen Ein- und

Mehr

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Tutorial04: 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

Mehr

GUI-Programmierung mit Java. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 11: GUI 1: AWT (1) GUI-Programmierung mit Java.

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

Mehr

Grafische Benutzeroberflächen

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

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflä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

Mehr

Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung

Grafikausgabe 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

Mehr

GUI-Programmierung in Java

GUI-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

Mehr

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1 Heute Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files 17.01.2017 IT I - VO 11 1 Organisatorisches Noch zwei UE und eine Wissensüberprüfung Heute

Mehr

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 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

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 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.

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Aufbau einer typischen Java-Datei

Aufbau einer typischen Java-Datei Aufbau einer typischen Java-Datei 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [package mein.paket;] [import

Mehr

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans)

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans) Oliver Brinkmann oliver.brinkmann@smail.fh-koeln.de Java Swing-Applikationen & JApplets (mit NetBeans) 1 Einführung in NetBeans Vorstellung: AWT-/Java-Swing-Paket JApplet Ereignisverarbeitung mit NetBeans

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

Mehr

Abstract Window Toolkit

Abstract 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

Mehr

Java Projekt: Tic Tac Toe + GUI

Java 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

Mehr

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,

Mehr

Klassen in Java. Klassen

Klassen in Java. Klassen Klassen in Java Klassen Klassen beschreiben Objekte, die abstakte oder konkrete Sachverhalte modellieren. Objekte sind durch einen Status gekennzeichnet (State). Der Status eines Objektes ergibt sich aus

Mehr

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

J.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1 GUI-Programmierung in Java GUI-Programmierung in 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

Mehr

Grafische Benutzeroberflächen mit Swing

Grafische 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,

Mehr

Graphische Programmierung: GUIs: graphical user interfaces

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

Mehr

Ein Manager mit CardLayout layout/cards.java

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

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Appletprogrammierung

Appletprogrammierung Appletprogrammierung 362 Übersicht zum Vorlesungsinhalt zeitliche Abfolge und Inhalte können variieren Appletprogrammierung HTML Methoden eines Applets AppletViewer Applikation zu Applet Flackernde Applets

Mehr

5. Das Java AWT (II) Components und Container

5. 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

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 19. 25. Februar 2003 Mittwoch Inhaltsübersicht Eigene Klassen definieren Vererbung Abstrakte Klassen Schnittstellen Polymorphismus Designbeispiele: Java-AWT Strings in Java Funktionen und

Mehr

Ereignisverwaltung und Layout-Typen

Ereignisverwaltung und Layout-Typen Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Ereignisverwaltung

Mehr

Ereignisse (Events) in Java

Ereignisse (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

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

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

Mehr

public class Beispiel1 extends Frame {

public class Beispiel1 extends Frame { Das AWT (Abstract Window Toolkit) Menge von Klassen und Interfaces im Paket java.awt.* Wird zur Erzeugung grafischer Benuterzoberflächen (Graphical User Interface, GUI) verwendet. SWING (zu finden im paket

Mehr

Kapitel 7: Ereignis-basierte Kommunikation

Kapitel 7: Ereignis-basierte Kommunikation Liste P: Programmieren mit Java WS 2001/2002, Prof. Dr. V. Turau, FH Wiesbaden Kapitel 7: Ereignis-basierte Kommunikation Folie 125 : Grafische Oberflächen Eine grafische Oberfläche besteht aus Komponenten.

Mehr

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

import java.awt.*; import java.awt.event.*; import javax.swing.*; Swing Workshop Dieser Workshop enthält grundsätzliche Informationen über Swing und Java und regt mit einigen Beispielen und Übungen zum weiteren Erkunden dieses Themengebietes an. Kapitel 1: Das erste

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 07. Java: GUI und Ereignisbehandlung Teil

Mehr

...erinnern Sie sich? oopjs4b / kwhbkd4r

...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

Mehr

Session 1: Classes and Applets

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

Mehr

7. Architektur interaktiver Systeme

7. Architektur interaktiver Systeme 7. Architektur interaktiver Systeme 7.1 Entkopplung durch Sichten 7.2 Ereignisgesteuerter Programmablauf 7.3 Benutzungsoberflächen (Fortsetzung) Layout-Manager Definition Ein Layout-Manager ist ein Objekt,

Mehr

GUI Programmierung in Java

GUI 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

Mehr

Was passiert, wenn Button "Ok?" mit Maus angeklickt?

Was 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

Mehr

Interaktive Elemente, GUI-Programmierung

Interaktive Elemente, GUI-Programmierung Softwaretechnik für IM, WS2015/2016 http://knopper.net/bw/swt/ Übung 4 Interaktive Elemente, GUI-Programmierung 1. Schreiben Sie ein Programm (wahlweise als Applet oder Applikation, oder beides), das die

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 5. Grafische Userinterfaces Christian Scheible Institut für Maschinelle Sprachverarbeitung 31. Juli 2009 Christian Scheible Java für Computerlinguisten 31. Juli 2009 1 / 33

Mehr

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -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?

Mehr

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Events in Java Graphische Anwendungen werden über Events gesteuert.

Mehr

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events

Mehr

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung 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

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 02: Streams filtern, Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Datenströme (Streams) Filtern FilterWriter, - Reader 2.

Mehr

04 - Actions. Actions

04 - Actions. Actions Actions Motivation!In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt.!häufig werden gleiche Aktionen durch verschiedene Swing-Komponenten ausgelöst. Z.B. durch

Mehr

Einbindung der Tastatur

Einbindung 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

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

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

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

Mehr

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

JButton, 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

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 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

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

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes

Mehr

Java Lab 2006/12/13 Client

Java Lab 2006/12/13 Client Java Lab 2006/12/13 Client Prof. Dr. Bernhard Humm Version: 1.0 Date: 2006/12/06 Darmstadt University of Applied Sciences Department of Computer Science Schöfferstr. 8b 64295 Darmstadt Germany 1 Einleitung

Mehr

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

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Heinrich Hußmann Ludwig-Maximilians-Universität München Sommersemester 2003 Ludwig-Maximilians-Universität München Prof. Hußmann

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Programmieren in Java

Programmieren 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

Mehr

Swing Grundlagen. Andre Eichmann

Swing Grundlagen. Andre Eichmann Swing Grundlagen Andre Eichmann Inhaltsverzeichnis Swing: Grundlagen - Einleitung - Ein einleitendes Beispiel Swing: Container und Menüs - Hauptfenster - Menüs Swing: Grundlagen Nachteile von AWT: - Schwierig,

Mehr

Klausur vom 14. Juni 2004. Informatik 4

Klausur 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

Mehr

Übersicht. 1 Vorbemerkungen zu Sequenzdiagrammen. 2 Sequenzdiagramm aus Code ableiten. 3 Sequenzdiagramm konstruieren und in Java implementieren

Übersicht. 1 Vorbemerkungen zu Sequenzdiagrammen. 2 Sequenzdiagramm aus Code ableiten. 3 Sequenzdiagramm konstruieren und in Java implementieren Globale Übung Informatik 2, Blatt 7 Globale Übung Informatik 2, Blatt 7 Übersicht Globale Übung Informatik 2 im Sommersemester 2010 Blatt 7, Aufgaben 27-28 1 Vorbemerkungen zu Sequenzdiagrammen 2 Sequenzdiagramm

Mehr

von Anja Austermann Drag and Drop

von 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

Mehr

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

Benutzeroberflächen. Abstract Windowing Toolkit, Rahmen, Wächter, Ereignisbehandlung, Ausgabe, Menüs. Benutzeroberflächen Abstract Windowing Toolkit, Rahmen, Wächter, Ereignisbehandlung, graphische Ausgabe, Menüs. Der Abstract Windowing Toolkit (awt) Jedes moderne Betriebssystem stellt bereit Fenster Menüs

Mehr

8.6 Visualisierung der Sortieralgorithmen

8.6 Visualisierung der Sortieralgorithmen 8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public

Mehr