Graphische Oberflächen Teil 2
|
|
- Friederike Messner
- vor 6 Jahren
- Abrufe
Transkript
1 Graphische Oberflächen Teil 2 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 Swing GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 4
5 Ereignisse Komponenten lösen Ereignisse aus z.b. Klick auf Button, Auswahl eines Listenelements, Eingabe von Text Ereignisbehandler reagieren auf Ereignis Implementation der entsprechenden Schnittstelle Registration bei Komponente Ereignisobjekt liefert Zusatzinformationen z.b. Quelle, Modifikationstasten, public class Button extends Component { void addactionlistener(actionlistener l);... public interface ActionListener extends EventListener { void actionperformed(actionevent e); public class ActionEvent extends AWTEvent { String getactioncommand(); int getmodifiers(); String paramstring(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 5
6 Hierarchie der Ereignisklassen Low-Level-Ereignisse: elementaren Nachrichten semantische Ereignisse: höherwertige Ereignisse semantische Ereignisse Low-Level- Ereignisse Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 6
7 Hierarchie der EventListener-Interfaces Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 7
8 Adapterklassen Implementieren Interface mit leeren Methoden Bequeme Art, nur bestimmte Ereignisse zu behandeln Focus Adapter Key Adapter Mouse Adapter MouseMotion Adapter Window Adapter Container Adapter Component Adapter Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 8
9 Maus und Tastatur Ereignisse von Maus und Tastatur z.b. Reaktion auf Mausbewegung oder Tastatureingabe Tastenereignisse empfängt nur Komponente mit Fokus public interface KeyListener { void keypressed(keyevent e); void keyreleased(keyevent e); void keytyped(keyevent e); public interface MouseListener { void mouseclicked(mouseevent e); void mouseentered(mouseevent e); void mouseexited(mouseevent e); void mousepressed(mouseevent e); void mousereleased(mouseevent e); public interface MouseMotionListener { void mousedragged(mouseevent e); void mousemoved(mouseevent e); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 9
10 Focus-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode FocusEvent FocusListener addfocuslistener Component Ereignismethode focusgained focuslost Bedeutung Eine Komponente erhält den Focus. Eine Komponente verliert den Focus. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 10
11 Key-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode KeyEvent KeyListener addkeylistener Component Ereignismethode keypressed keyreleased keytyped Bedeutung Eine Taste wurde gedrückt. Eine Taste wurde losgelassen. Eine Taste wurde gedrückt und wieder losgelassen. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 11
12 Component-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode ComponentEvent ComponentListener addcomponentlistener Component Ereignismethode componenthidden componentmoved componentresized componentshown Bedeutung Eine Komponente wurde unsichtbar. Eine Komponente wurde verschoben. Die Größe einer Komponente hat sich geändert. Eine Komponente wurde sichtbar. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 12
13 Container-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode ContainerEvent ContainerListener addcontainerlistener Container Ereignismethode componentadded componentremoved Bedeutung Eine Komponente wurde hinzugefügt. Eine Komponente wurde entfernt. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 13
14 Window-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode WindowEvent WindowListener addwindowlistener Dialog, Frame Ereignismethode windowactivated windowclosed windowclosing windowdeactivated windowdeiconified windowiconified windowopened Bedeutung Das Fenster wurde aktiviert. Das Fenster wurde geschlossen. Das Fenster wird geschlossen. Das Fenster wurde deaktiviert. Das Fenster wurde wiederhergestellt. Das Fenster wurde auf Symbolgröße verkleinert. Das Fenster wurde geöffnet. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 14
15 Action-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode ActionEvent ActionListener addactionlistener Button, List, MenuItem, TextField Ereignismethode actionperformed Bedeutung Eine Aktion wurde ausgelöst. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 15
16 Adjustment-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode AdjustmentEvent AdjustmentListener addadjustmentlistener Scrollbar Ereignismethode adjustmentvaluechanged Bedeutung Der Wert wurde verändert. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 16
17 Item-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode ItemEvent ItemListener additemlistener Checkbox, Choice, List, CheckboxMenuItem Ereignismethode itemstatechanged Bedeutung Der Zustand hat sich verändert. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 17
18 Text-Ereignisse Eigenschaft Ereignisklasse Listener-Interface Registrierungsmethode Mögliche Ereignisquellen Klasse, Interface oder Methode TextEvent TextListener addtextlistener TextField, TextArea Ereignismethode textvaluechanged Bedeutung Der Text wurde verändert. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 18
19 Entwurfsmuster für Handler-Code Die Einbindung von Handlern in die Applikation ist ein wesentliches Entwurfskriterium. Dazu gibt es unterschiedliche Ansätze, die wir besprechen wollen: Variante 1: Implementierung eines EventListener-Interfaces Variante 2: Lokale oder anonyme Klassen Variante 3: Anonyme Klasse plus Handlermethode (siehe JavaBeans- Beispielcode) Variante 4: Trennung von GUI- und Anwendungscode Variante 5: wie Variante 4 plus Datenmodell mit Change-Events Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 19
20 Grundlegende Überlegungen Ereignisse sollen etwas bewirken Ausführung von Code der Applikation Änderungen in den GUI-Elementen Gestaltung von Handler-Code ist durch zwei Herausforderungen getrieben Zugriff auf Applikation und/oder GUI ermöglichen gewisse Übersichtlichkeit und geeignete Strukturierung erreichen GUI auslösen einwirken Handler Applikation Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 20
21 Grundlegende Architektur In einer interaktiven Applikation muss es eine Klasse geben, die Aufbau der GUI kennt Verbindung zum Datenmodell/Applikationslogik hat GUI? Applikation Dies ist oft das Top-Level-Fenster, d.h. eine applikationsspezifische Ableitung von JFrame oder JDialog Sind Zeichenoperationen zu implementieren, wird dies in paintcomponent einer Ableitung von JPanel gemacht Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 21
22 Beispiel Punkte bei Mouse-Clicks Applikation, in der jeder Mouse-Click als ein Punkt ausgegeben wird PointFrame definiert Hauptfenster hält eine Liste von Points (= Applikationsdaten) implementiert main PointPanel bekommt Referenz auf die Liste von Points definiert paintcomponent-methode in der die Punkte gezeichnet werden Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 22
23 Beispiel Punkte bei Mouse-Clicks : PointFrame public class PointFrame extends JFrame { private List points; Datenmodell public PointFrame(List points) { this.points = points; settitle("points"); this.setcontentpane(new PointPanel(this.points)); pack(); Aufbau der GUI... public static void main(string args[]) { List points = new ArrayList(); for (int i = 1; i <= 10; i++) points.add(new Point(i*10, i*10)); PointFrame frame = new PointFrame(points); frame.setsize(400, 300); frame.show(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 23
24 Beispiel Punkte bei Mouse-Clicks : PointPanel public class PointPanel extends JPanel { List points; public PointPanel(List points) { this.points = points; protected void paintcomponent(graphics g) { ListIterator pointsiterator = points.listiterator(); while (pointsiterator.hasnext()) { Point p = (Point) pointsiterator.next(); g.drawoval(p.x, p.y, 1, 1);... Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 24
25 Variante 1: Implementierung EventListener-Interfaces GUI-Komponente implementiert Listener und meldet sich bei Komponente an public class PointFrame extends JFrame implements MouseListener { private List points; public PointFrame(List points) {... getcontentpane().addmouselistener(this); public void mouseclicked(mouseevent e) { points.add(new Point(e.getX(), e.gety())); getcontentpane().repaint(); public void mouseentered(mouseevent e) {... Vorteile: einfach Nachteil: unhandlich wenn viele unterschiedliche Listener implementiert werden müssen, Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 25
26 Variante 2: Anonyme Klassen Es werden anonyme innere Klassen erzeugt, die Listener implementieren (oder Adapter erweitern) Diese greifen als innere Klassen auf die Objektvariablen zu public class PointFrame2 extends JFrame { private List points; public PointFrame2(List ps) {... getcontentpane().addmouselistener(new MouseAdapter () { public void mouseclicked(mouseevent e) { points.add(new Point(e.getX(), e.gety())); getcontentpane().repaint(); );... Vorteile: erlaubt die Implementierung von beliebigen Listenern Nachteil: kann auch unübersichtlich werden, weil alles in eine Klasse gepackt ist Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 26
27 Variante 3: Anonyme Klasse plus Handlermethode Wie bei Variante 2 anonyme innere Klassen Diese rufen aber Handler-Methoden der umgebenden Klasse auf entspricht Verfahren, wie viele GUI-Editoren Code erzeugen getcontentpane().addmouselistener(new MouseAdapter () { public void mouseclicked(mouseevent e) { mouseclickhandler(e); ); private void mouseclickhandler(mouseevent e) { points.add(new Point(e.getX(), e.gety())); getcontentpane().repaint(); Vorteile: etwas übersichtlicher Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 27
28 Variante 4: Trennung von GUI- und Anwendungscode Eigene Klassen, die die Listener implementieren public class MouseClickHandler implements MouseListener { private List points; public MouseClickHandler(List points) { this.points = points; public void mouseclicked(mouseevent e) { points.add(new Point(e.getX(), e.gety())); Component source = (Component) e.getsource(); source.repaint(); Zugriff auf Panel über Event-Objekt Vorteile: Trennung von GUI-Aufbau und Ereignsbehandlung Nachteile: In dieser Version keine strikte Trennung, weil Aufruf von repaint notwendig Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 28
29 Variante 5: Variante 4 + Datenmodell mit Change-Events Eigenes Datenobjekt PointList, welche die Änderungen signalisiert PointPanel5 meldet sich als Listener an und ruft bei Änderungen repaint() auf public class MouseClickHandler implements MouseListener {... public void mouseclicked(mouseevent e) { points.add(new Point(e.getX(), e.gety())); public class PointPanel5 extends JPanel implements PropertyChangeListener {... public void propertychange(propertychangeevent evt) { repaint(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 29
30 Variante 5: Variante 4 + Datenmodell mit Change-Events (Forts.) public class PointList { List points = new ArrayList(); PropertyChangeSupport pchsprt = new PropertyChangeSupport(this); public void add(point p) { points.add(p); pchsprt.firepropertychange("points", null, points); public ListIterator listiterator() { return points.listiterator(); public void addpropertychangelistener(propertychangelistener l) { pchsprt.addpropertychangelistener(l); public void removepropertychangelistener(propertychangelistener l) { pchsprt.removepropertychangelistener(l); Vorteil: Klare Trennung GUI Applikation Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 30
31 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 31
32 Menüs mit Swing JMenu JMenuBar JMenuItem JRadioButtonMenuItem JMenu JCheckBoxMenuItem Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 32
33 Menüs und Untermenüs Menüleiste Instanz von JMenuBar Setzen mittels setjmenubar des JFrame Menü Instanz von JMenu (erweitert JMenuItem) Hinzufügen zu Menüleiste oder Menü mit Methode add Einfügen einer Trennlinie mit addseperator Menüeintrag Instanz von JMenuItem Hinzufügen zu Menü mittels add Kann Symbol und Tastenkürzel besitzen Verfügbare Varianten: - JCheckBoxMenuItem - JRadioButtonMenuItem Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 33
34 Eigenschaften eines Menüeintrages Mnemonik Unterstrichener Buchstabe für Tastaturnavigation im Menü Setzen mit setmnemonic Konstanten von KeyEvent für Tasten verwenden Tastenkombination Erscheint rechts neben Menütext KeyStroke.getKeyStroke(int keycode, int modifiers) Modifizierer: KeyEvent.ALT_MASK, KeyEvent.CTRL_MASK, KeyEvent.SHIFT_MASK Setzen mittels setaccelerator Symbol Laden von Datei mittels ImageIcon-Konstruktor Setzen mit seticon Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 34
35 Beispiel: Menüs // create and set menu bar menubar = new JMenuBar(); setjmenubar(menubar); // create menu menu = new JMenu("A Menu"); menu.setmnemonic(keyevent.vk_a); menubar.add(menu); // create menu item ImageIcon icon = new imageicon("images/middle.gif"); menuitem = new JMenuItem("Both text and icon", icon); menuitem.setmnemonic(keyevent.vk_b); menuitem.setaccelerator(keystroke.getkeystroke( KeyEvent.VK_B, KeyEvent.CTRL_MASK)); menuitem.addactionlistener(this); menu.add(menuitem); // add separator menu.addseparator(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 35
36 Actions Action-Objekte realisieren Aktionen unabhängig von GUI-Elementen können an mehrere GUI-Elemente gebunden werden Klasse Action implementiert ActionListener hat enabled-state unterschiedliche Werte mit getvalue und putvalue verwalten interface Action extends java.awt.event.actionlistener { void actionperformed(actionevent e) boolean isenabled() void setenabled(boolean b) Object getvalue(string key) void putvalue(string key, Object value) void addpropertychangelistener(propertychangelistener listener) void removepropertychangelistener(propertychangelistener listener) Klasse AbstractAction stellt Basisimplementierung bereit Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 36
37 Actions (2) Mittels getvalue(string key) und putvalue(string key, Object value) können Eigenschaften der Aktion verwaltet werden. NAME: Name der Aktion MNEMONIC_KEY: Setzen der Mnemonik SHORT_DESCRIPTION: Benutzt für Tooltip etc. LONG_DESCRIPTION: Zum Beispiel für kontextsensitive Hilfe ACCELERATOR_KEY: Tastenkombination SMALL_ICON: Ablegen eines ImageIcons beliebige andere putvalue(action.name, name); putvalue(action.small_icon, icon); putvalue(action.short_description, "Ändern der Grundflächenfarbe in " + name.tolowercase()); putvalue("color", c); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 37
38 Actions (3) Action-Objekte werden an GUI-Komponenten gebunden an Buttons an MenuItems an PopupMenus an KeyStrokes // Button add(new JButton(sampleAction)); // Menu menu.add(new MenuItem(sampleAction)); // Popup popupmenu.add(sampleaction); // KeyStroke siehe nächste Folie Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 38
39 Zuordnung von KeyStrokes zu Actions Komponenten verwalten: InputMap-Tabellen: Zuordnung von KeyStroke-Objekten zu Aktionsnamen inputmap.put(keystroke.getkeystroke("ctrl S"), "panel.sample"); ActionMap-Tabelle: Zuordnung von Aktionsnamen zu Action-Objekten ActionMap actionmap = component.getactionmap(); actionmap.put("panel.sample", sampleaction); Es gibt 3 InputMap-Tabellen (die ausgehend von der Komponente mit Fokus nacheinander untersucht werden) WHEN-FOCUSED: verwendet, wenn Komponente Fokus hat InputMap inputmap = component.getinputmap(jcomponent.when_focused); WHEN_ANCESTOR_OF_FOCUSED_COMPONENT: verwendet, wenn eine Unterkomponente den Fokus hat InputMap inputmap = component.getinputmap(jcomponent. WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); WHEN_IN_FOCUSED_WINDOW: verwendet, wenn die Komponente im selben Fenster als Komponente mit Fokus InputMap inputmap = component.getinputmap(jcomponent.when_in_focused_window); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 39
40 Beispiel: ColorAction (1) Ändern die Hintergrundfarbe mit ColorActions ColorAction implementieren public class ColorAction extends AbstractAction { public ColorAction(String name, Icon icon, Color c) { putvalue(action.name, name); putvalue(action.small_icon, icon); putvalue(action.short_description, "Ändern der Grundflächenfarbe in " + name.tolowercase()); putvalue("color", c); public void actionperformed(actionevent event) { Color c = (Color) getvalue("color"); setbackground(c); repaint(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 40
41 Beispiel: ColorAction (2) Panel mit ColorButtons implementieren Action-Objekte erzeugen class ActionPanel extends JPanel { Action yellowaction, blueaction, redaction; public ActionPanel() { yellowaction = new ColorAction("Gelb", new ImageIcon( "yellow-ball.gif"), Color.YELLOW); blueaction = new ColorAction("Blau", new ImageIcon( "blue-ball.gif"), Color.BLUE); redaction = new ColorAction("Rot", new ImageIcon( "red-ball.gif"), Color.RED); Buttons mit Actions erzeugen und anfügen add(new JButton(yellowAction)); add(new JButton(blueAction)); add(new JButton(redAction)); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 41
42 Beispiel: ColorAction (3) KeyStrokes mit Aktionsnamen verbinden InputMap imap = getinputmap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); imap.put(keystroke.getkeystroke("ctrl G"), "panel.yellow"); imap.put(keystroke.getkeystroke("ctrl B"), "panel.blue"); imap.put(keystroke.getkeystroke("ctrl R"), "panel.red"); Aktionsnamen mit Action-Objekten verbinden ActionMap amap = getactionmap(); amap.put("panel.yellow", yellowaction); amap.put("panel.blue", blueaction); amap.put("panel.red", redaction); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 42
43 Beispiel: ColorAction (4) PopUpMenu definieren // Kontextmenü erzeugen popup = new JPopupMenu(); popup.add(yellowaction); popup.add(blueaction); popup.add(redaction); this.addmouselistener(new MouseAdapter() { public void mousepressed(mouseevent e) { if (e.getbutton() == MouseEvent.BUTTON3) popup.show(e.getcomponent(), e.getx(), e.gety()); ); Im Frame Menu mit Actions definieren JMenuBar menubar = new JMenuBar(); this.setjmenubar(menubar); JMenu bgmenu = new JMenu("Background"); menubar.add(bgmenu); bgmenu.add(new JMenuItem(panel.yellowAction)); bgmenu.add(new JMenuItem(panel.blueAction)); bgmenu.add(new JMenuItem(panel.redAction)); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 43
44 Beispiel: Actions 1/3 public class HelloAction implements Action {... public HelloAction(Greeter greeter) { values = new HashMap(); enabled = true; propchlisteners = new LinkedList(); this.greeter = greeter; public Object getvalue(string key) { return values.get(key); public void putvalue(string k, Object v) { values.put(k, v); public void setenabled(boolean b) { if (b!= enabled) { boolean oldval = enabled; enabled = b; firepropertychangeevent(new Boolean(oldVal), new Boolean(enabled));... public interface Greeter { void sayhello(); Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 44
45 Beispiel: Actions 2/3... public boolean isenabled() { return enabled; public void addpropertychangelistener(propertychangelistener l) { propchlisteners.add(l); public void removepropertychangelistener( PropertyChangeListener l) { propchlisteners.remove(l); public void actionperformed(actionevent e) { if (greeter!= null) { greeter.sayhello(); private void firepropertychangeevent(object oldval, Object newval) {... Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 45
46 Beispiel: Actions 3/3 public class ActionDemo extends JFrame implements Greeter {... private void init() { // create action hact = new HelloAction(this); hact.putvalue(action.name, "Hello"); hact.putvalue(action.mnemonic_key, new Integer(KeyEvent.VK_H)); hact.putvalue(action.accelerator_key, KeyStroke.getKeyStroke(KeyEvent.VK_H, KeyEvent.CTRL_MASK)); hact.putvalue(action.small_icon, new ImageIcon("Smurf.gif")); hact.putvalue(action.short_description,"prints Hello.");... JMenuItem hellomi = new JMenuItem("Hallo"); saymenu.add(hellomi); hellomi.setaction(hact);... public void sayhello()... Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 46
47 Zusammenfassung Applets Kleine Programme innerhalb von Webseiten Eingeschränkte Berechtigungen Anwendungen Hauptfenster und Dialogfenster Pluggable Look and Feel unter Swing Layout-Manager Kontrollieren Position und Größe der Komponenten Ereignisse Klick auf Schaltfläche, Texteingabe, Auswahl eines Listenelements, Ereignisbehandler werden bei Komponente registriert Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 47
48 Literatur The JavaTM Tutor, Creating a GUI with JFC/Swing (The Swing Tutorial), Horstmann, Cornell, Core Java 2, Band 1 - Grundlagen, Markt und Technik, 2002: Kapitel 7-11 Krüger, Handbuch der Java-Programmierung, 3. Auflage, Addison-Wesley, 2003, Kapitel 23, 24, 28, 29, 30, 35, 36 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 48
49 Programmbeispiele Programmbeispiele zu den Entwurfsmuster für Handler-Code: Download von Homepage der LVA Handbuch der Java-Programmierung: Listing2801.java, Listing2802.java, Listing2803.java, Listing2804.java, Listing2805.java, Listing2806.java Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 49
Graphische Oberflächen Teil 2
Graphische Oberflächen Teil 2 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
MehrGraphische Oberflächen Teil 2
Graphische Oberflächen Teil 2 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
MehrSwing. Einführung Painting bei Swing Menus and Action Swing-Komponenten. Zusammenfassung
Swing Einführung Painting bei Swing Menus and Action Swing-Komponenten JTextField JFormattedTextField JSpinner JList JTable JTree weitere Komponenten Zusammenfassung Pratikum SWE 2 Institut für Systemsoftware
MehrWas passiert, wenn Button "Ok?" mit Maus angeklickt?
Ein Beispiel-Frame Was passiert, wenn Button "Ok?" mit Maus angeklickt? gar nichts!!! FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender Ereignisverarbeitung 27. April 2016 1 Implementierung
MehrSwing. 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
MehrSwing. 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
MehrBeispiel: Eine Choice-Liste...
Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )
MehrModel-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1
Model-View-Controller Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model View Controller (MVC) Architekturmuster für die Gestaltung von interaktiven Oberflächen 3 Komponenten Model: Datenmodell
MehrEventhandling. Delegation model Eventhandler model
Eventhandling Dient der Kommunikation der Controlls mit der eigentlichen Anwendung. Prinzipiell gibt es zwei verschiedene Verfahren für das Eventhandling Delegation model Eventhandler model Die Arbeit
MehrGraphische Oberflächen Teil 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
MehrEventhandling. Delegation model Eventhandler model
Eventhandling Dient der Kommunikation der Controlls mit der eigentlichen Anwendung. Prinzipiell gibt es zwei verschiedene Verfahren für das Eventhandling Delegation model Eventhandler model Die Arbeit
MehrI. Grundlagen II. Ereignistypen III. Ereignisempfänger. Event-Handling (EH)
I. Grundlagen II. Ereignistypen III. Ereignisempfänger IV. Ereignisquellen V. Adapterklassen Event-Handling (EH) I. Grundlagen II. Ereignistypen III. Ereignisempfänger IV. Ereignisquellen V. Adapterklassen
MehrGraphische Oberflächen Teil 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
MehrEinführung in die Programmierung für NF. Übung 08
Einführung in die Programmierung für NF Übung 08 Inhalt Eventbehandlung in Java Swing Einführung in die Programmierung für NF Übung 08 2 Eventbehandlung in Java Swing Wir haben bereits einige grafische
MehrAuswahl aus mehreren Alternativen:
907 908 Texteingabe: TextField zeigt eine Text-Zeile, die vom Benutzer modifiziert werden kann. TextArea zeigt mehrere modifizierbare Text-Zeilen. Auswahl aus mehreren Alternativen: List scrollbare Liste
MehrUniversität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek
Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)
MehrAbteilung 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
MehrEinführung in die OOP mit Java
Einführung in die OOP mit Java Das Event-Hanlding Übersicht Event - Handling Das im JDK 1.1 Grundlagen Ereignistypen Ereignisquellen Adapterklassen für den Nachrichtenverkehr Variante1: Implementierung
MehrEinführung in die Programmierung für NF. Übung
Einführung in die Programmierung für NF Übung 10 08.01.2014 Inhalt Programmierung Blatt 9 Eventbehandlung in Java Swing InputDialoge in Java UML Einführung in die Programmierung für NF Übung 10 2 Programmierung
MehrProgrammieren II. Menü-Klassen in Java. Menüs. Menüs. Action. Dr. Klaus Höppner. GridBagLayout. Hochschule Darmstadt SS 2008
Programmieren II Menüs Dr. Klaus Höppner Action Hochschule Darmstadt SS 2008 GridBagLayout 1 / 30 2 / 30 Menüs Menü-Klassen in Java In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs:
MehrNTB Druckdatum: 01.04.13 -
AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen
MehrJButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 30 2 / 30 JButton, JCheckBox, JRadioButton In Swing existieren drei wesentliche Klassen für Schaltflächen: JButton für normale
MehrInstitut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke
GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java
MehrKapitel 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.
Mehr04 - 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
MehrMenüs Action GridBagLayout. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 31
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 31 Menüs Action GridBagLayout 2 / 31 Menüs In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs: Menüleisten
MehrInstitut 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,
MehrJava 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
Mehr11. GUI-Programmierung mit SWING Überblick
11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrGUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik
GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in
MehrVorlesung 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
MehrProgrammiertechnik GUI Programmierung mit Java Swing
Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 haase@htwg-konstanz.de Tel: 07531/206-720 Oliver Haase Hochschule Konstanz
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1
Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.
MehrIst eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt
GUI GUI = Graphical User Interface Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt Gute Übersicht über alle Funktionalitäten
MehrProgrammieren 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.
MehrGUI Programmierung mit javax.swing
java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick
MehrProgrammieren 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
MehrProgrammieren 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
MehrEinführung in die Programmierung für NF. Grafische Benutzeroberflächen
Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.
MehrKapitel 8: Grafische Benutzerschnittstellen
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrInstrumentierung 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
MehrFunktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine
MehrEinführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
MehrZiele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
MehrSoftwaretechnik (Medieninformatik): GUIs mit Swing Überblick
Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Layout Manager 5 Komplexere Swing Komponenten Prof. Dr.
MehrBenutzeroberflä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
MehrProjekt objektorientiertes programmieren in Java SS08. Event-Handling. Nils Heinrich
Projekt objektorientiertes programmieren in Java SS08 Event-Handling Nils Heinrich 18.05.2008 Event-Handling Delegation Event Model / Delegation Based Event-Handling Ereignistypen Ereignisklassen Event
MehrInhaltsverzeichnis Einleitung...1 Die Begleit-CD zu diesem Buch...5 Erweiterungen für Java Ereignisse...15
Inhaltsverzeichnis 1 Einleitung...1 1.1 Von Java bis Swing?...1 1.2 Wer sind Sie?...1 1.3 Was dieses Buch nicht ist...2 1.4 Die Gliederung dieses Buches...2 1.5 Konventionen...2 1.6 Zeit, anzufangen...4
MehrProgrammieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,
MehrSwing Lernen am Code Teil 1
Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster
MehrWiederholung aus SWE2
Wiederholung aus SWE2 Innere Klassen Diverse neue Sprachfeatures bei Java 1.5 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Inhalt Innere Klassen Diverse neue Sprachfeatures bei Java 1.5 Pratikum
MehrZiel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java
GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
Mehr16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz
16 Zeichnen in Swing-Komponenten 2009 2014, Prof. Dr. D. Ratz 16.1 Grafische Darstellung von Komponenten Der Repaint-Manager sorgt für die grafische Darstellung der Komponenten Aktivierung beim erstmaligen
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
Mehr6. Eventhandling in Java
6. Eventhandling in Java OO-Graphics in Java Eventhandling in Java 143 Eventhandling in Java Bisher: OO-Grundlagen, Programmablauf, Zeichenmöglichkeiten, Anordnung von Bedienelementen. Was fehlt? Interaktivität!!!
Mehr11. GUI-Programmierung mit SWING Überblick
11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing
Mehr/** 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,
MehrEinführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische
MehrJLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg )
Swing Komponenten Thomas Wieczorek http://www.wieczo.net/?p=76 Hier trage ich die Komponenten zusammen, die Kreling und Wiedling in ihren Klausuren oft verwendet haben. Bei Verbesserung: Bitte Kommentar
MehrAusgewählte Implementierungsprobleme
Ausgewählte Implementierungsprobleme Rebecca Tiarks 15. Januar 2009 1 / 56 Inhaltsverzeichnis 1 2 / 56 AWT grafische Benutzeroberfläche (GUI) erste API von Sun AWT bietet GUI-Komponenten, Operationen zum
MehrGrundlagen der Informatik für Ingenieure I
10. Eventhandling in Java 10.1 Ereignisse (Events vs. Exceptions) 10.2 Eventhandling in Java 10.3 Listener 10.4 Adapter 10.7 Mouse- und Key- Eventhandling 10.8 Listener (Übersicht).1 10.1 Ereignisse (Events
MehrKap. 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)
MehrGrundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung
MehrTag 9: Grafische Benutzeroberflächen
Kapitel 10 Tag 9: Grafische Benutzeroberflächen In Java gibt es zunächst zwei verschiedene Möglichkeiten Klassen für die Grafikausgabe zu verwenden. Eine Möglichkeit ist AWT (=Abstrakt Windows Toolkit)
MehrGrafische Benutzeroberflächen Container Menüs JComponent JLabel/JTextField Buttons Events und Listener. Programmieren I.
Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Grafische Benutzeroberflächen 2 Container 3 Menüs 4 JComponent 5 JLabel/JTextField 6 Buttons 7 Events und Listener Einführung:
Mehr11. GUI-Programmierung mit SWING Überblick
11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing
Mehr1. Konventionelle Ein-/Ausgabebetonte Programmierung
1. Konventionelle Ein-/Ausgabebetonte Programmierung 1.1 Realisierung grafischer Benutzungsoberflächen Beispiel Java AWT und Swing 1.2 Grundlagen der 2D-Computergrafik Beispiel Java-Grafikprogrammierung,
MehrGraphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
MehrListe Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe
MehrGraphical User Interfaces
Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard
MehrDas Interface ÁØ ÑÄ Ø Ò Ö verlangt die Implementierung
ººº ÔÙ Ð ÚÓ Ô ÒØ Ö Ô µ ß º Ø ÓÐÓÖ ÓÐÓÖµ º ÐÐÊ Ø ½¼¼ ¼ ¾¼¼ ½¼¼µ Ð ÔÙ Ð ÚÓ Ø ÑËØ Ø Ò ÁØ Ñ Ú ÒØ µ ß ËØÖ Ò ËØÖ Ò µ º ØÁØ Ñ µ Û Ø º Ö Ø ¼µµ ß ³Û³ ÓÐÓÖ ÓÐÓÖºÛ Ø Ö ³Ö³ ÓÐÓÖ ÓÐÓÖºÖ Ö ³ ³ ÓÐÓÖ ÓÐÓÖº Ö Ò Ö ³ ³ ÓÐÓÖ
MehrSwing : Komponeneten I (Teil 1) Was ist Swing?
Was ist Swing? 1 Unterschied zu AWT (Abstract window Toolkit) Zusätzliche Komponenten von Swing,die zu Oberflächenerzeugung genutzt werden können: Keyboard Accelerators, also Tastenkombination zur Steuerung
MehrSoftwaretechnik (Medieninformatik): GUIs mit Swing Überblick
Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Zeichnen 5 Layout Manager 6 Komplexere Swing Komponenten
MehrAbstrakte Klassen, Interfaces
Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische
MehrJavaBeans Property-Editoren und Customizer
JavaBeans Property-Editoren und Customizer J. Heinzelreiter WS 2004/05 Property-Editoren Builder Tools beinhalten Standard-Editoren für Zahlen (ganze Zahlen, Gleitkommazahlen), Strings, Auswahl von Fonts,
MehrEin Manager mit CardLayout layout/cards.java
201 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Ein Manager mit CardLayout layout/cards.java CardLayout dient vor allem zum Aufbau von Inspektoren: In der gleichen Fläche soll je nach
MehrGRAFISCHE BENUTZERSCHNITTSTELLEN
Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind
MehrGraphische Oberflächen Teil 3
Graphische Oberflächen Teil 3 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
MehrKapitel 10. Event Handling 10.1 MVC
Kapitel 10 Event Handling 10.1 MVC Erinnerung: Model - View - Controler (Smalltalk-80): Schema zum Implementieren graphischer Benutzeroberflächen Model: Klasse, die das funktionale Verhalten der Anwendung
MehrJ.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
MehrSoftwaretechnik Programmieren von GUIs mit Swing
Softwaretechnik Programmieren von GUIs mit Swing Fachhochschule Wiesbaden, FB Informatik Studiengang Medieninformatik Vorlesung im WS 2002/2003 1 Literatur H.M. Deitel, P.J. Deitel Java How to Program,
MehrEreignisverarbeitung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 12: GUI 2: AWT (2) - Ereignisverarbeitung
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Vorlesung 12: GUI 2: AWT (2) - SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Überblick Bisher haben wir nur Steuerelemente definiert
MehrEreignisse (Events) in Java
Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird
MehrGrundlagen der Informatik für Ingenieure I
10. Eventhandling in Java 10.1 Eventhandling 10.2 Listener 10.3 Adapter 10.7 Listener (Übersicht).1 10.1 Eventhandling 10.1 Eventhandling Eventhandling in Java ist Teil des AWT-package. Es dient der Kommunikation
MehrGUI Programmierung in Java
vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf
MehrBetreutes Programmieren Vorlesung Informatik II, Blatt 5
SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 01.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 5 Programmieraufwand für geübte Programmierer:
MehrEreignisverwaltung 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
MehrHeute. 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
MehrJavakurs für Fortgeschrittene
Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Mittwoch Inhaltsübersicht Eigene Klassen definieren Vererbung Abstrakte Klassen Schnittstellen Polymorphismus Designbeispiele: Java-AWT Strings in Java Funktionen und Funktionsplotter
Mehr...erinnern Sie sich? oopjs4b / kwhbkd4r
...erinnern Sie sich? oopjs4b / kwhbkd4r !" Ereignisbehandlung in awt/swing führt Liste interessierter Behandler GUI- Komponente (z.b. Knopf) wird eingetragen trägt ein Ereigniskanal fertigt ab neuer Behandler
MehrAWT. Einfache AWT-Anwendung. Swing. Vorlesung 1. Handout S. 2. import java. awt. * ;
Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 56 Grafische Benutzeroberflächen Container Menüs JComponent JLabel/JTextField Buttons Events und Listener 2 / 56 Einführung:
MehrEinführung in GUI-Programmierung. javax.swing
Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt
MehrJava I Vorlesung 11 Graphische Oberflächen mit Swing
Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java
Mehr