Graphische Oberflächen Teil 1

Größe: px
Ab Seite anzeigen:

Download "Graphische Oberflächen Teil 1"

Transkript

1 Graphische Oberflächen Teil 1 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

2 Inhalt AWT und Swing Unterschied Einbettung von Swing in AWT Grundlegender Aufbau von Swing GUIs Frames, Windows, Dialogs Panels Graphikausgabe Positionierung paintcomponent und AWT-Thread Graphics und Ausgabeoperationen Aufbau und Positionierung Component-Hierarchy LayoutManagement Spezielle Anordnungen: JTabbedPane, JSplitPane, JScrollPane, JInternalFrame, Ereignismodell Grundlegendes semantische und systemnahe Ereignisse Patterns für die Ereignisbehandlung Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 2

3 Inhalt (Fortsetzung) Menus und Actions GUI Elemente MVC-Paradigma - Abstrakte Modelle - Ereignisse Überblick über GUI Elemente - JLabel - JButton - JSpinner - JTextField - JFormattedTextField - Dialoge (Teil 2) Modale und Nicht-modale Dialoge Spezielle Dialoge: JFileDialog, JOptionsPane, Spezielle GUI-Elemente (Teil 2) JList JTable JTree Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 3

4 Graphische Oberflächen AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 4

5 AWT und Swing Abstract Window Toolkit Paket java.awt und Unterpakete Abstrahiert GUI-Komponenten von konkreter Plattform Plattformspezifische Implementierung in "Peer"-Klasse Kleinster gemeinsamer Nenner aller Plattformen Component ComponentPeer Windows ComponentPeer Motif ComponentPeer MacOS ComponentPeer Swing Paket javax.swing und Unterpakete Lightweight-Komponenten Native Container, Rest vollständig in Java implementiert Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 5

6 Applets Abgeleitet von java.applet.applet Browser lädt Klasse und ruft Methoden auf init start paint stop destroy repaint Ausführung in "Sandbox" Zugriff auf Dateien und Starten von Programmen nicht erlaubt Kommunikation nur mit Server, von dem Applet geladen wurde import java.awt.*; public class Demo extends java.applet.applet { public void init() { String text = getparameter("text"); add(new Label(text)); <applet code="demo" archive="demo.jar" width=250 height=70> <param name="text" value="hello World!"> </applet> Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 6

7 Grundlegende Eigenschaften von Swing Leichtgewichtige Komponenten nur Top-Level-Fenster, Dialoge und grafische Primitivoperationen auf Systemoperationen abgebildet alles weitere in Java Pluggable Look-and-Feel Look-and-Feel nicht abhängig vom Betriebssystem unterschiedliche Look-and-Feel verfügbar: Metal, Motif und Windows Umschaltung des Look-and-Feel (auch zur Laufzeit) Model-View-Controller-Prinzip neue Architektur der GUI-Komponenten nach dem Model-View-Controller- Prinzip Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 7

8 Pluggable Look and Feel Bestimmt Aussehen der Swing-Komponenten Auswahl im Programm UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() // oder UIManager.getSystemLookAndFeelClassName() // oder "javax.swing.plaf.metal.metallookandfeel" // oder "com.sun.java.swing.plaf.windows.windowslookandfeel" // oder "com.sun.java.swing.plaf.motif.motiflookandfeel" ); Austausch nach dem Start UIManager.setLookAndFeel(lnfName); SwingUtilities.updateComponentTreeUI(frame); frame.pack(); Spezifikation auf der Kommandozeile java -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel MyApp Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 8

9 Applets, AWT und Swing im Vergleich public class MyFrame extends Frame { public MyFrame() { super("awt Application"); setlayout(new GridLayout(1, 2)); add(new Label("Hello World!")); addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0); ); setsize(250, 60); setvisible(true); public class MyApplet extends Applet { public MyApplet() { setlayout(new GridLayout(1, 2)); add(new Label("Hello World!")); public class MyJFrame extends JFrame { public MyJFrame() { super("swing Application"); getcontentpane().setlayout(new java.awt.gridlayout(1, 2)); getcontentpane().add(new JLabel("Hello World!")); setdefaultcloseoperation(exit_on_close); setsize(250, 60); setvisible(true); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 9

10 Graphische Oberflächen AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 10

11 Komponenten von AWT Component Button Canvas CheckBox Choice Container Label List Scrollbar TextComponent ScrollPane Panel Window TextField TextArea Frame Dialog Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 11

12 Grundlegende Architektur von AWT-GUIs Frame Panel (with layout manager) MenuBar Panel (with Layoutmanager) List Button hierarchische Anordnung es gibt Components und Container Components liegen in Containers Ein Container kann einen Layoutmanager zugeordnet haben, der die Anordnung (x,y,w,h) der Components bestimmt Bei Components und Containers kann man sich für verschiedene Ereignisse als Listener anmelden (zb: MouseListener, ActionListener) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 12

13 Die Basisklasse java.awt.component Component ist die abstrakte Oberklasse aller Benutzerschnittstellenkomponenten inkl. der Behälter (Container) (Ausnahmen: Menu, TrayIcon, SplashScreen). Ein Component hat eine graphische Repräsentation und kann mit dem Benutzer interagieren. Die Oberklasse von Component ist Object. Wichtige Methoden setbounds(int x, y, w, h) setlocation(int x, y) setsize(int w, h) setforeground(color fg) setbackground(color bg) setfont(font f) setenabled(boolean enabled) setvisible(boolean) Container getparent() Position und Größe der Komponente setzen (Benötigt zb: LayoutManager) Komponente zu neuem Ort bewegen Neue Größe Vordergrundfarbe (zb: für Text) Hintergrundfarbe Setzt eine Schriftart Legt fest, ob die Komponente mit dem Benutzer interagieren soll. Soll die Komponente am Bildschirm sichtbar sein? Jede Komponente kann den Container in dem sie sich befindet zurückgeben (oder null) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 13

14 Container Frame Hauptfenster eigenständiger Anwendungen Rahmen und Titelleiste Dialog Fenster, das zu einem übergeordneten Frame gehört Parameter in Konstruktor bestimmt Modalität Panel Container für andere Komponenten Verschachtelbar zur Kombination von Layout-Managern ScrollPane Bildlauf für eine Komponente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 14

15 Allgemeines zu Container Anordnen von Benutzerschnittstellenkomponenten. Container sind selbst Benutzerschnittstellenkomponenten, sie können daher in anderen Containern enthalten sein (vgl. Datei/Verzeichnis). Koordinaten beziehen sich auf den Container, in dem sie eine Komponente befindet. yc2 xc2 yb xb Container2 Container1 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 15

16 Oberklasse java.awt.container Container ist von Component abgeleitet. Ein Container hat daher Größe, Position und kann eine Vielzahl von Ereignissen erzeugen. Container enthalten Komponenten, die wiederum Container sein können (Composit-Pattern). Dadurch wird die hierarchische Architektur von GUI-Anwendungen ermöglicht. Wichtige Methoden add(component c) remove(component c) removeall() int getcomponentcount() setlayout(layoutmanager l) validate() validatetree() Komponente hinzufügen Komponente entfernen Alle Komponenten entfernen Anzahl der Komponenten Layoutmanager setzten (ev: null -> kein LM) Alle Komponenten neu layouten Alle Komponenten rekursiv layouten Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 16

17 Einbettung und Swing in AWT Swing-Komponenten sind in die Hierarchie der AWT-Komponenten eingebettet Component JComponent als Basisklasse aller leichtgewichtigen Komponenten ist von Container abgeleitet Container JFrame, JDialog, JWindow als Top-Level-Windows erweitern Frame, Dialog, Window Damit werden grundlegende Mechanismen von AWT geerbt JComponent ScrollPane Panel Window Komponentenhierarchie Ereignismechanismus JPanel JWindow Frame Dialog JFrame JDialog Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 17

18 Top-Level-Windows in Swing JWindow rahmenloses Fenster hat eine ContentPane, um Komponenten aufzunehmen window.getcontentpane().add(component) JFrame Typisch für Applikationsfenster mit Rahmen, Systemmenü und Standardschaltfläche JDialog für modale und nicht-modale Dialoge werden mit Parent-Frame erzeugt hat wie JWindow eine ContentPane, um Komponenten aufzunehmen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 18

19 JFrame JFrame ist aus mehreren Panes aufgebaut RootPane: Wurzel, enthält Border, Titel, LayeredPane LayeredPane: enthält Menüleiste und ContentPane ContentPane: eigentlicher Inhaltsbereich GlassPane: vorgelagerte, durchsichtige Pane für Effekte, die die ganze Frame betreffen JRootPane getrootpane() Container getcontentpane() JLayeredPane getlayeredpane() Component getglasspane() Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 19

20 Aufbau einer JFrame-Applikation import javax.swing.*; import java.awt.*; public class Listing3602 extends JFrame { public Listing3602() { super("ein einfacher JFrame"); //WindowListener hinzufügen addwindowlistener(new WindowClosingAdapter(true)); //Layout setzen und Buttons hinzufügen Container contentpane = getcontentpane(); contentpane.setlayout(new GridLayout(3, 1)); contentpane.add(new JButton("Button 1")); contentpane.add(new JButton("Button 2")); contentpane.add(new JButton("Button 3")); public static void main(string[] args) { Listing3602 wnd = new Listing3602(); wnd.setlocation(100, 100); wnd.setsize(300, 200); wnd.setvisible(true); public class WindowClosingAdapter extends WindowAdapter {... public void windowclosing(windowevent event) { event.getwindow().setvisible(false); event.getwindow().dispose(); if (exitsystem) { System.exit(0); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 20

21 Graphische Oberflächen AWT und Swing Grundlegender Aufbau von Swing GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 21

22 Grafik in Java Zeichenoperationen werden in überschriebenen paint-methoden implementiert bei AWT-Komponenten public void paint(graphics g) bei Swing-Komponenten protected void paintcomponent(graphics g) Aufruf der Methoden erfolgt durch den AWT-Thread Anwenderprogramm kann durch Aufruf von public void repaint() public void repaint(int x, int y, int width, int height) das Neuzeichnen der Komponente (eines Bereichs der Komponente) erzwingen Zwei wesentliche Konzepte zur Grafikdarstellung Koordinatensystem: immer relativ zur Komponente Grafikkontext: stellt virtuelle Zeichenfläche dar Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 22

23 AWT-Thread Anwenderprogramm und AWT-Loop laufen in unterschiedlichen Threads Anwenderprogramm führt Änderungen in den Daten durch, die Änderungen in der GUI bewirken sollen ruft repaint der betroffenen Komponenten auf AWT ruft bei nächster Gelegenheit paintcomponent auf Anwenderprogramm Swing_Komponente AWT Event Loop Changes() repaint paintcomponent Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 23

24 Threads and Swing Single Thread Rule Erlaubt aus anderen Threads ist erstellen einer GUI, aufrufen von repaint(), revalidate(), invalidate() Hinzufügen/Entfernen von Listenern Updaten einer GUI nur im Event-Thread zb: neue Komponente hinzufügen Hilfsklasse SwingUtilities mit den Methoden: - invokelater(runnable dorun) - invokeandwait(runnable dorun) - iseventdispatchthread() Runnable doworkrunnable = new Runnable() { public void run() { dowork(); void dowork() { if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater(doWorkRunnable); return; // Update GUI here Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 24

25 Graphik Graphics Graphikkontext in der Methode paint Zeichnen von Linien, Figuren, Text und Bildern Ursprung links oben Graphics2D Erweitert Graphics um zusätzliche Zeichenoperationen Verwendung bei Swing-Komponenten Canvas public class SSWLogo extends Canvas { public void paint(graphics g) { g.setcolor(color.blue); g.fillrect(30, 10, 25, 30); g.setcolor(color.black); g.filloval(10, 10, 40, 30); g.setcolor(color.white); g.drawstring("ssw", 15, 30); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 25

26 Graphik in Java Koordinatensystem p(0,0) ist links oben. p(getwidth()-1, getheight()-1) ist rechts unten. Dies gilt für jede GUI-Komponente (Vorsicht: Hierarchie). Die Positionen x, y einer GUI-Komponente beziehen sich auf deren Position im übergeordneten Container. 0,0 getwidth()-1, getheight()-1 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 26

27 Beispiel Graphikausgabe import java.awt.color; import java.awt.frame; import java.awt.graphics; public class PaintTest extends Frame { public PaintTest() { setsize(400, public void paint(graphics g) { for (int x = 0; x <= getwidth() - 1; x = x + 1) { g.setcolor(new Color(0, (int) (255.0 / getwidth() * x), (int) (255.0 / getwidth() * x))); g.drawline(x, 0, getwidth() - x, getheight() - 1); System.out.println(Thread.currentThread()); public static void main(string[] args) { PaintTest ptc = new PaintTest(); ptc.setvisible(true); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 27

28 Graphikkontext, die Klasse Graphics Graphics ist eine abstrakte Klasse. Wie kommt man dazu? void paint(java.awt.graphics g) Graphics-Objekte erzeugt man niemals selbst. Graphics-Objekte speichert man nicht. Methoden zur Ausgabe von Grafik, zb: drawline(). Zuständen, die die Grafikausgabe beeinflussen Zeichenfarbe Schriftart logische Pixeloperation (XOR oder Paint) Clip (Zeichenoperationen wirken sich nur innerhalb des Clip aus) Betroffene Komponente Abstraktion eines Ausgabegeräts, zb: Bildschirm, Drucker oder Bild. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 28

29 Zeichenoperationen der Klasse Graphics clearrect(int x,int y,int w, int h) copyarea(x,y, w,h, dx, dy) draw3drect(x,y,w,h, boolean raised) drawarc(x,y,w,h, int startangle, int arcangle) drawline(x1,y1,x2,y2) drawoval(x,y,w,h) drawpolygon(x[], y[], int npoints) drawpolyline(x[], y[], int npoints) drawrect(x,y,w,h) drawroundrect(x,y,w,h, int arcwidth, int archeight) drawstring(string str, x,y) fill3drect(x,y,w,h, boolean raised) fillarc(...) filloval(...) fillpolygon(...) fillroundrect(...)... drawimage(image img, x,y, ImageObserver obs) drawimage(...) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 29

30 Weitere Methoden der Klasse Graphics translate(int x, int y) setpaintmode() setxormode(color c1) setfont(font f) setcolor(color c) setclip(x,y,w,h) getfontmetrics():fontmetrics getfont():font getcolor():color getclipbounds():rectangle... // Verschieben des Koordinatenursprungs // normalen Zeichenmodus setzen (default) // XOR-Modus momentane Farbe xor c1 // Schriftart setzen // Zeichenfarbe setzten // setzt neues Clip (Pixel nur innerhalb // betroffen) // holt Metrik-Informationen zur Font // z.b. Wie viele Pixel breit/hoch ist "1. // Object" // aktuelle Schriftart // Rechteckigen Clip-Bereich holen; // Auch wenn eine Linie über diesen // hinausgeht, wird nur innerhalb gezeichnet. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 30

31 Font und Fontmetrics Die Klasse Font Repräsentiert eine Schriftart: Konstruktion mit: Font f = new Font("Monospaced", Font.BOLD, 14) drei Standard-Namen: "MonoSpaced", "Serif", "SansSerif" Einige Methoden: Font (String name, int style, int size) int getsize() // Schriftgröße in Pixel boolean isbold() // fett boolean isitalic() // kursiv static final int PLAIN // Konstanten für Schriftstil static final int BOLD static final int ITALIC... Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 31

32 Font und Fontmetrics Die Klasse Fontmetrics Stellt typographische Informationen über einzelne Zeichen und Strings in konkreten Schriftarten zur Verfügung. Erreicht man am besten über Grafikkontext: FontMetrics fm = g.getfontmetrics(); FontMetrics fm = g.getfontmetrics(afont); nützliche Methoden: int charwidth(char ch) int stringwidth(string s) int getascent() // Oberlänge int getdescent() // Unterlänge int getheight() // Höhe int getleading() // Zeilenabstand Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 32

33 Graphische Oberflächen AWT und Swing Grundlegender Aufbau von Swing GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 33

34 Layoutmanager Anordnung von Komponenten Fenstergröße und Schrift können sich ändern Layout wird logisch beschrieben und nicht mit absoluten Koordinaten Constraints beeinflussen Positionierung FlowLayout Yes No Cancel GridLayout BorderLayout North West Center East South GridBagLayout Button1 Button2 Button3 Button4 Button5 Button6 Button7 Button9 Button8 Button10 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 34

35 Grundprinzip LayoutManager setzen Größe der Komponenten bestimmen Komponenten anfügen LayoutManager bestimmt damit automatisch Positionierung und tatsächliche Größe acontainer.setlayout(new XXXLayout()); component1.setpreferredsize(new Dimension(100, 30)); component1.setminimumsize(new Dimension(60, 20)); component1.setmaximumsize(new Dimension(160, 40));... acontainer.add(component1); acontainer.add(component2); acontainer.add(othercontainer); //Layoutmanager bestimmt Positionen der Components im Container Swing-Komponenten haben drei Größeneigenschaften, die von Layoutmanagern verwendet werden preferredsize: bevorzugte Größe für Komponente minimumsize: minimale Größe für Komponente maximumsize: maximale Größe für Komponente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 35

36 Layout Management Klassen FlowLayout Ordnet die Komponenten wie Wörter auf einer Seite an. (Zentriert, rechts- oder linksbündig) BorderLayout Unterstützt genau 5 Komponenten. Eine an jeder Seite und eine im Zentrum GridLayout Teilt den Container in Zeilen und Spalten. Alle Zellen sind gleich groß. GridBagLayout Sehr flexibel und kompliziert. Für jede Komponente können Einschränkungen definiert werden CardLayout Zeigt jeweils nur eine Komponente, die den Container ausfüllt. Die anderen liegen quasi unsichtbar dahinter und man blättert bei Bedarf weiter (zb: Tabs) BoxLayout Ordnet Komponenten von rechts nach links, oben nach unten oder in Schreibrichtung an GroupLayout und SpringLayout Mächtig, komplex und speziell für GUI-Builder entwickelt Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 36

37 FlowLayout f = new FlowLayout(); f.setalignment(flowlayout.center, 20, 20) // Zentriert; horizontaler // und vertikaler Abstand = 20 container.setlayout(f); container.add(component1); container.add(component2); container.add(containerx); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 37

38 BorderLayout container.setlayout(new BorderLayout()); container.add(component1, BorderLayout.NORTH); container.add(component2, BorderLayout.CENTER); container.add(containerx, BorderLayout.WEST);... Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 38

39 GridLayout g = new GridLayout(rows, cols); // Zeilen und Spalten container.setlayout(g); container.add(component1); // Auffüllen von links oben zeilenweise // nach rechts unten container.add(component2); container.add(containerx); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 39

40 BoxLayout public class BoxLayoutTest extends JFrame { public BoxLayoutTest() { setdefaultcloseoperation(exit_on_close); settitle("box Layout Test"); setlayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));... btn = new JButton("Left aligned (long button)"); btn.setalignmentx(component.left_alignment); add(btn); btn = new JButton("Right aligned"); btn.setalignmentx(component.right_alignment); add(btn);... Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 40

41 Weitere GridbagLayout CardLayout Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 41

42 null-layout Beim Arbeiten ohne LayoutManager muss man selbst für die Anordnung der Komponenten sorgen. Bei Größenänderungen erfolgt keine automatische Anpassung, wie bei Verwendung von Layout-Managern. Beispiel container.setlayout(null); // explizit nötig, um default-layout zu umgehen component1.setbounds(10,10,100,100); // x, y, Breite, Höhe component2.setbounds(10,150,100,100); // x, y, Breite, Höhe container.add(component1); container.add(component2); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 42

43 Zusammenfassung Applets Kleine Programme innerhalb von Webseiten Eingeschränkte Berechtigungen Anwendungen Hauptfenster und Dialogfenster Pluggable Look and Feel unter Swing Swing Single Thread Rule Layout-Manager Kontrollieren Position und Größe der Komponenten Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 43

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

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

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

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

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

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

Swing. Swing. Einführung Painting bei Swing Menus and Action Swing-Komponenten. Zusammenfassung

Swing. Swing. Einführung Painting bei Swing Menus and Action Swing-Komponenten. Zusammenfassung Swing Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Swing Einführung Painting bei Swing Menus and Action Swing-Komponenten JSpinner JTextField JFormattedTextField JList JTable JTree weitere

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

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

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

GUIs in Java und ihre Programmierung

GUIs in Java und ihre Programmierung GUIs in Java und ihre Programmierung Einführung GUI = Graphical User Interface graphische Benutzerschnittstelle Java Tutorial java.sun.com/docs/books/tutorial/index.html Java Documentation (in Version

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

Einführung in Swing. Graphical User Interface

Einführung in Swing. Graphical User Interface Einführung in Swing Ho Ngoc Duc IFIS - Universität zu Lübeck Graphical User Interface Ein GUI-Programm beinhaltet: Graphische Darstellung der Anwendungsdaten und Interaktionsmöglichkeiten in Fenstern Steuerung

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

Fenster in Java. von Stefanie Gerckens 1

Fenster in Java. von Stefanie Gerckens 1 Fenster in Java von Stefanie Gerckens 1 Inhaltsverzeichnis Die verschiedenen Fensterklassen Aufrufen und Schließen eines Fensters Visuelle Eigenschaften eines Fensters Anzeigezustand eines Fensters Fensterelemente

Mehr

Auszug aus der Klassenstruktur

Auszug aus der Klassenstruktur Swing javax.swing Auszug aus der Klassenstruktur JComponent AbstractButton JColorChooser JComboBox JInternalFrame JLabel JList JPanel JTable JTextComponent JTree JToolBar JToolTip JToggleButton JButton

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

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

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

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

Swing. Swing. Einführung. Menus and Action Swing-Komponenten. Zusammenfassung. JTextField. JSpinner. JTable. weitere Komponenten

Swing. Swing. Einführung. Menus and Action Swing-Komponenten. Zusammenfassung. JTextField. JSpinner. JTable. weitere Komponenten Swing Pratikum 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Swing Einführung Painting bei Swing Menus and Action Swing-Komponenten JTextField JFormattedTextField JSpinner JList JTable JTree weitere Komponenten

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

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

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

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

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

JAVA Oberflächen mit Swing

JAVA Oberflächen mit Swing JAVA Oberflächen mit Swing Grafik von http://javafx.com 168 168 AGENDA Grundlagen GUI Swing JavaFX 169 169 GRAPHISCHE BENUTZEROBERFLÄCHEN (1) AWT = Abstract Window Toolkit Verwendet die jeweiligen GUI-Komponenten

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

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

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

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

Techniken der Projektentwicklung

Techniken der Projektentwicklung Einleitung Architektur Swing Beispiele Aufgabe Techniken der Projektentwicklung Swing Concepts Ingo Lütkebohle Termin 11 Ingo Lütkebohle Techniken der Projektentwicklung 1 Einleitung Architektur Swing

Mehr

Mensch-Maschine-Interaktion

Mensch-Maschine-Interaktion Universität Dortmund, Fachbereich Informatik Peter Bollweg, OH16 E08, bollweg@ls7.cs.uni-dortmund.de, 6328 Constantin Timm, OH16 E06, timm@ls12.cs.uni-dortmund.de, 6144 Christian Asche Dortmund, 19. Oktober

Mehr

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

Vorlesung Programmieren. Bisher... Apple Lisa Office System 3.1. GUIs mit Java Vorlesung Programmieren GUIs mit Java Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Bisher... 2 Apple Lisa Office System 3.1 3 Graphical

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

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 12 Grafische Benutzerschnittstellen... 12-2 12.1 Komponenten... 12-2 12.1.1 AWT und Swing... 12-2 12.1.2 Beispiel Hallo Welt!... 12-3 12.2 Ereignisverarbeitung... 12-6 12.3 Grafik... 12-10 12.3.1

Mehr

2. Visualisierung von mathematischen Objekten und Prozessen

2. Visualisierung von mathematischen Objekten und Prozessen Quelle: Mathematik und Java, Teil 2 Visualisierung von mathematischen Objekten und Prozessen 1. Übersicht Package java.applet Burkhard Wolf, Gerd Bohlender 2. Übersicht Package java.awt Abstract W indow

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

Kurs OPR. Objektorientierte Programmierung

Kurs OPR. Objektorientierte Programmierung 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 Inhaltsverzeichnis 1

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

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

Programmieren II. Java-Applets. Heusch 17 Ratz 4. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Java-Applets. Heusch 17 Ratz 4. www.kit.edu. Institut für Angewandte Informatik Programmieren II Java-Applets Heusch 17 Ratz 4 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Was sind Java-Applets? Minianwendung

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

GUI. Programmiermethodik. Eva Zangerle Universität Innsbruck

GUI. Programmiermethodik. Eva Zangerle Universität Innsbruck GUI Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

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

FENSTER ADNAN TUNAY 1

FENSTER ADNAN TUNAY 1 FENSTER ADNAN TUNAY 1 Inhaltsverzeichnis Fensterklassen (Hierarchie u. Bedeutung) Aufrufen u. Schließen eines Fensters Visuelle Eigenschaften des Fensters Anzeigezustand des Fensters Fensterelemente Fenstertitel

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

Vorlesung 13. Sitzung Grundlegende Programmiertechniken

Vorlesung 13. Sitzung Grundlegende Programmiertechniken Vorlesung 13. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Grundlegende Programmiertechniken, WS 2007/2008 GUI-Entwicklung mit

Mehr

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

Teil 5: Benutzeroberflächen 5.2 Einführung GUI-Programmierung Prof. Dr. Max Mühlhäuser FG Telekooperation TU Darmstadt Grundzüge der Informatik 1 Teil 5: Benutzeroberflächen 5.2 Einführung GUI-Programmierung Prof. Dr. Max Mühlhäuser FG Telekooperation TU Darmstadt AWT und SWING AWT = Abstract Window Toolkit Package java.awt

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

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

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

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

Programmierkurs. 11. Vorlesung. Sven Mallach. 13. Januar 2010. Institut für Informatik - Lehrstuhl Prof. Dr. M. Jünger 1/ 60 Programmierkurs 11. Vorlesung Sven Mallach Institut für Informatik - Lehrstuhl Prof. Dr. M. Jünger 13. Januar 2010 1/ 60 Klausuren 1. Termin: Di. 23.02.2010 2. Termin: Do. 18.03.2010 Uhrzeit: In beiden

Mehr

GUI-Programmierung in Java

GUI-Programmierung in Java GUI-Programmierung in Java Von Aydin Alatas und Tobias Fischer Einleitung Im Folgenden wird die Programmierung von Grafikoberflächen in Java erklärt. Diese werden in so gut wie jeder Desktop Anwendung

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

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker GUI-Programmierung mit Java PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 15. April 2013 Übersicht GUI-Bibliotheken

Mehr

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event. Lösungen 1. Aufgabe // ActionExample.java import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample extends JFrame int counter = 1; JLabel counterlabel; public

Mehr

Programmieren mit Swing

Programmieren mit Swing Jürgen Schlierf Rudolf Weber Programmieren mit Swing Einfuhrung in die Programmierung mit den Swing-Klassen in Java 2 HANSER Carl Hanser Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Von Java

Mehr

Kap. 36. SWING: Menüs. und weitere SWING-Container. Seán Dempsey

Kap. 36. SWING: Menüs. und weitere SWING-Container. Seán Dempsey Kap. 36 SWING: Menüs und weitere SWING-Container Seán Dempsey Grundlagen von Menüs Hauptklasse: JMenuBar SWING- Entsprechung der AWT-Menüklasse MenuBar JMenuBar Menüleiste (JMenuBar) enthält Menüs (JMenu)

Mehr

Fachhochschule 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 Fachhochschule Fulda Fachbereich Angewandte Informatik Hausarbeit Seminar: Java3D Java Layout-Manager WS 2002/2003 Verfasser: m.dziadek@gmx.de Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung...

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,

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

GUI Design. Universität Paderborn Prof. Dr. Stefan Böttcher. Java Swing und AWT

GUI Design. Universität Paderborn Prof. Dr. Stefan Böttcher. Java Swing und AWT GUI Design Java Swing und AWT 1 Gui Design Von Hand Mittels visuellem GUI Designer 2 Warum von Hand? Grundkonzepte erlernen Zum Verständnis des von GUI Designern generierten Codes unerlässlich GUI Designer

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

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

Grafikprogrammierung in Java: Grundlagen

Grafikprogrammierung in Java: Grundlagen Grafikprogrammierung in Java: Grundlagen 11.1 Grundlagen 11.2 Grafische Grundelemente 11.3 Fensterklassen 11.4 Ereignisse und Widgets 11.5 Applets 11.6 Die Swing-Klassen 11.1 Grundlagen 11-1 Schnittstellen

Mehr

GUI-Programmierung - Einführung

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

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

SWING. DVG2-09 -Swing 1

SWING. DVG2-09 -Swing 1 SWING DVG2-09 -Swing 1 GUIs Swing stellt eine Menge von Klassen zur Verfügung, mit deren Hilfe man in Java portable GUIs programmieren kann. GUI: Graphical User Interface (Grafische Nutzer Schnittstelle)

Mehr

Softwarepraktikum: Enigma

Softwarepraktikum: Enigma Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I GUI Inhalt: Übersicht gui-pakete in Java: AWT, Swing Komponenten und Behälter Layout Ereignisse und Ereignisbehandlung Ereignismodell

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

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

Ansonsten VIEL SPAß! Nicholas Ohs (GK 11 IF 2) !!!ACHTUNG!!! Wenn jemand Rechtschreib- oder Grammatikfehler findet, kann er sie behalten. Ich habe diesen Text nicht Korrektur gelesen. Deshalb bitte: Inhaltliche Fehler MELDEN!!! Ansonsten VIEL SPAß!

Mehr

25 Object Serialization

25 Object Serialization 25 Object Serialization Motivation objects must be independent from application life time objects must be exchanged between applications OODS 1997-2000 Michael Golm Object Serialization 25.162 25.1 Object

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

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

In Track B generell gute Java-Kenntnisse vorausgesetzt!

In Track B generell gute Java-Kenntnisse vorausgesetzt! Gliederung Track A (Technik, montags): A1. Eingabe- und Ausgabetechnik bei Rechnersystemen A2. Technik der digitalen Bildverarbeitung A3. Technik der digitalen Tonverarbeitung A4. Technik der digitalen

Mehr

11. GUI-Programmierung mit SWING Überblick

11. GUI-Programmierung mit SWING Überblick 11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing

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

Grafik-Programmierung

Grafik-Programmierung Grafik-Programmierung In dieser Übung beschäftigen wir uns zunächst mit elementaren Grundlagen der Grafikprogrammierung. In der nächsten Übung werden wir dies auf Spiele anwenden. Aufgabe 1: Einfache Grafik:

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

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

Drucken soll nur das Panel, nicht der ganze Rahmen gedruckt werden.

Drucken soll nur das Panel, nicht der ganze Rahmen gedruckt werden. Kapitel 1 Drucken von Swing-Komponenten. Wir wollen eine einfache Methode zum Drucken einer Swing-Komponente vorstellen und daran den Mechanismus der Druckereinbindung in JAVA studieren. Anschließen wird

Mehr

> GUI Programmierung in Java Teil 2

> GUI Programmierung in Java Teil 2 > GUI Programmierung in Teil 2 Mark Egloff 2006 1 Lernziel Heute Abend > Sie lernen eine 2. Library für die GUI Erstellung kennen > Sie kennen die Begriffe JFC, SWING und MVC und können diese auch erklären

Mehr

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

Rückblick. Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen? Rückblick Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen? Was sind statische Methoden? Was sind statische Variablen? Was

Mehr

Entwicklung von E-Learning Komponenten zur Computergrafik

Entwicklung von E-Learning Komponenten zur Computergrafik F Entwicklung von E-Learning Komponenten zur Computergrafik Development of E-learning components for computer graphics Markus Stollenwerk, Rainer Friesen und Daniel Valentin Master Projektstudium Betreuer:

Mehr

2. Programmierung von Benutzungsschnittstellen

2. Programmierung von Benutzungsschnittstellen 2. Programmierung von Benutzungsschnittstellen 2.1 Modell-Sicht-Paradigma 2.2 Bausteine für grafische Oberflächen 2.3 Ereignisgesteuerte Programme 1 Benutzungsoberflächen Technische Realisierungen: Stapelverarbeitungssprache

Mehr

Applets und HTML. Martin Wirsing. Exkurs: Noch einmal Object. in Zusammenarbeit mit Matthias Hölzl, Nora Koch

Applets und HTML. Martin Wirsing. Exkurs: Noch einmal Object. in Zusammenarbeit mit Matthias Hölzl, Nora Koch Applets und HTML Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 12/03 Exkurs: Noch einmal Object 2 Achtung: Die Methode equals der Klasse Object kann unterschiedlich implementiert werden:

Mehr

Aufbau einer Swing-Applikation

Aufbau einer Swing-Applikation SWING GUIs Swing stellt eine Menge von Klassen zur Verfügung, mit deren Hilfe man in Java portable GUIs programmieren kann. GUI: Graphical User Interface (Grafische Nutzer Schnittstelle) GUIs sind grafische

Mehr

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

Java Design und Event Handling. Natascha Hoebel Professur Prof. R. V. Zicari. AWT SWING Layout Design Event Handling Java Design und Event Handling Natascha Hoebel Professur Prof. R. V. Zicari AWT SWING Layout Design Event Handling Benutzerschnittstellen User Interfaces (UI) UI: GUI, WEB-Schnittstellen GUI: interaktive

Mehr

Grundlagen der Informatik für Ingenieure I. 8. AWT - Abstract Window Toolkit Teil 1

Grundlagen der Informatik für Ingenieure I. 8. AWT - Abstract Window Toolkit Teil 1 8. AWT - Abstract Window Toolkit Teil 1 8.1.1 Labels 8.1.2 Buttons 8.1.3 Check Boxes 8.1.4 Radio Buttons 8.1.5 Choice Menus 8.1.6 Text Fields 8.2.1 Flow Layout 8.2.2 Grid Layout 8.2.3 Border Layout.1 8

Mehr

Ab jetzt: Java ohne Kara

Ab jetzt: Java ohne Kara Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen JavaKara -> Java Ablauf in JavaKara: 1. Programm schreiben 2. Kompilieren 3. Programm starten Ablauf in Java

Mehr

Kurs: Programmieren in Java

Kurs: Programmieren in Java Kurs: Programmieren in Java Tag 5 G R U N D L A G E N K I U N D S P I E L E - P R O G R A M M I E R U N G G R A F I K K O N Z E P T E B I L D V E R A R B E I T U N G M U S T E R E R K E N N U N G O B J

Mehr

Kapitel 14. Systemarchitektur

Kapitel 14. Systemarchitektur 1 Kapitel 14 Ziele 2 Grundprinzipien der verstehen Schichtenarchitekturen kennenlernen Modelle und Programme mit Paketen strukturieren Eine Architektur für eine einfache Bankanwendung konstruieren Grundprinzipien

Mehr

Kapitel 19: Klassen und Unterklassen

Kapitel 19: Klassen und Unterklassen Kapitel 19: Klassen und Unterklassen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

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

GUI-Programmierung - Einführung

GUI-Programmierung - Einführung GUI-Programmierung - Einführung 1 Kernkonzepte Komponenten (components) Layout ereignisgesteuerte Programmierung (event driven programming) Frames and Components 2 windows (frames) menus labels checkboxes

Mehr

Programmieren in Java

Programmieren in Java HOCHSCHULE MUENCHEN FAKULTÄT FÜR ELEKTROTECHNIK UND INFORMATIONSTECHNIK BEREICH DATENTECHNIK V JV 500 00 TH 02 Programmieren in Java Kapitel 5 5. Graphische Benutzeroberflächen 5.1. Grundprinzip 5.2. Java

Mehr

Serie 3: Designbeschreibung Verantwortlich für Rose-Projekt und Designbeschreibungen Dang, Quoc Anh / Phan, Ngoc Diep / Xiongjie Ding

Serie 3: Designbeschreibung Verantwortlich für Rose-Projekt und Designbeschreibungen Dang, Quoc Anh / Phan, Ngoc Diep / Xiongjie Ding DESIGNBESCHREIBUNG. 1. Allgemeines.? GeoViewer ist eine menügesteuerte graphische Java-Applikation. VonGEO-Record wird die vordefinierte geometrische Konfiguration geladen, im GeoProver-Paket berechnet

Mehr