Grafische Benutzeroberflächen in JAVA

Größe: px
Ab Seite anzeigen:

Download "Grafische Benutzeroberflächen in JAVA"

Transkript

1 Grafische Benutzeroberflächen in JAVA Jan-Philipp Kappmeier Technische Universität Berlin

2 Inhalt 1 Swing-Einführung Einleitung Ein Fenster erstellen 2 Swing-Komponenten Einfache Komponenten Ereignisse und Listener Container-Komponenten Standarddialoge 3 Threads Umgang mit rechenintensiven Arbeiten in Swing 4 Java2D Manuelles Zeichnen 2 / 44

3 Einleitung Grafische Oberflächen in JAVA Java Foundation Classes (JFC) APIs für die Programmierung von grafischen Oberflächen in JAVA Abstract Window Toolkit (AWT) Swing Java2D Veraltet nicht Systemunabhängig Seit Java 1.2 (1998) Einheitliches Aussehen Accessibility Internationalization Drag & Drop 3 / 44

4 Einleitung Swing Was Swing kann Modular, Objektorientiert, nutzt MVC für Komponenten Plattformunabhängig Aussehen konfigurierbar mit Look-and-Feels einheitliche Designs, standard: Motif Standardsystem-Design möglich. (Unterstützt auf Windows, Linux, MacOS) Standardmäßig werden sehr viele (auch komplexe) Komponenten bereitgestellt Mittlerweile (spätestens ab Java 1.5) schnell 4 / 44

5 Einleitung Threads und Swing Swing ist nicht Threadsicher JAVA stellt immer den Event Dispatch Thread (EDT) bereit Swing-Komponenten dürfen nur im EDT erstellt werden Auch Zugriff auf Komponenten nur aus dem EDT Rechenintensive Arbeiten dürfen nicht im EDT stattfinden JAVA bietet verschiedene Hilfsklassen für diese Zwecke an 5 / 44

6 Einleitung Obligatorische Informationsquellen Java ist auch eine Insel (8. Auflage) http: //openbook.galileocomputing.de/javainsel8/ Swing Tutorials und Beispiele von Sun/Oracle http: //java.sun.com/docs/books/tutorial/uiswing/ Wie immer: die JAVA-API CoMa-Forum Google ist dein Freund 6 / 44

7 Ein Fenster erstellen Fenster in Swing Fenster Alle Komponenten in Swing beginnen mit einem J. Fenster sind vom Typ JFrame Als Prameter wird dem Konstruktor der Titel übergeben: JFrame fenster = new JFrame( "Mein Fenstertitel"); Die Methode setvisible kann es anzeigen und auch wieder ausblenden 7 / 44

8 Ein Fenster erstellen Beispiel: Erstellen eines einfachen Fensters // Create a window for the application JFrame frame = new JFrame( "HelloWorld Swing example" ); // Define what happens if the window closes frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // Add a label with a message JLabel label = new JLabel( "Hello World!" ); // Add the label to the window frame.getcontentpane().add( label ); // Automatically set positions and sizes frame.pack(); // Finally, display the window frame.setvisible( true ); 8 / 44

9 Ein Fenster erstellen Erzeugen des Fensters im Event Dispatch Thread Bisher: Swing-Objekte müssen im EDT erzeugt werden. Aufgaben Auslagern Aufgaben, die Ausgelagert werden sollen, können vom Typ Runnable sein. Dies ist ein Interface. Die Methode run() muss implementiert werden. Sie kann dann von einem Thread aufgerufen werden 9 / 44

10 Ein Fenster erstellen Erzeugen des Fensters im Event Dispatch Thread forts. Zugriff auf den Event Dispatch Thread JAVA bietet dazu die Hilfsklasse SwingUtilities an invokeandwait führt ein Objekt vom Typ Runnable aus und wartet, bis die Aufgabe erledigt ist. Niemals im Event Dispatch Thread aufrufen! invokelater führt ein Objekt vom Typ Runnable aus und arbeitet direkt weiter. Mit iseventdispatchthread kann festgestellt werden, ob der Code gerade im Event Dispatch Thread ist 10 / 44

11 Ein Fenster erstellen Beispiel: Erstellen eines einfachen Fensters cont. public static void main( String[] args ) { // Create a new task for the event dispatch thread Runnable createwindowtask = new Runnable() { public void run() { createandshowwindow(); } }; } // Send the job to the event dispatch thread // and continue here SwingUtilities.invokeLater( createwindowtask ); // Will be executed in parallel dosomethingelse(); 11 / 44

12 Einfache Komponenten Normale Komponenten und Container Normale Komponenten Ermöglichen Interaktion mit dem Benutzer Benutzerinteraktion läuft über EventListener Viele zeigen Daten über ein Daten-Modell an (MVC) Zum Beispiel: JLabel, JButton, JTextField, JComboBox,... Container Meistens keine direkte Interaktion mit dem Benutzer Können andere Komponenten enthalten und ggf. anordnen Anordnung der Kind-Komponenten über LayoutManager Standardmäßig kann ein JFrame nur eine Komponente anzeigen Zum Beispiel: JPanel, JSplitPane, JTabbedPane, / 44

13 Einfache Komponenten Beispiel Komponenten // Create a label, button and checkbox JLabel label = new JLabel( "Ein Informationstext" ); JButton button = new JButton( "Eine Schaltfläche" ); JCheckBox checkbox = new JCheckBox( "Kontrollkästchen" ); // Add the components to the panel panel.add( label ); panel.add( button ); panel.add( checkbox ); // And add the panel to the frame frame.getcontentpane().add( panel ); 13 / 44

14 Einfache Komponenten Datenmodelle Komponenten mit Modellen Einige Komponenten speichern ihre Daten in einem Modell: JListBox, JComboBox, JTable Das Modell für die Listbox wird durch das Interface ListModel definiert Zu jedem Modell gibt es eine Standardvariante, für Listenfelder z. B. DefaultListModel Default-Modelle können meistens nur Text anzeigen Daten, die in der Komponente angezeigt werden sollen, müssen in das Modell eingefügt werden Dies ist eine Variante des MVC-Modells. Genauer: Observable/Observer 14 / 44

15 Einfache Komponenten Beispiel Kombinationslistenfeld mit Modell // Create a default model for the combo box DefaultComboBoxModel model = new DefaultComboBoxModel(); // Fill the model with some entries // For general objects tostring() is used for( int i = 1; i < 10; ++i ) model.addelement( "Zeile " + Integer.toString( i ) ); // Create a new combo box with the model JComboBox combobox = new JComboBox( model ); 15 / 44

16 Einfache Komponenten Einige Standardkomponenten und die zugehörigen Modelle Java-Komponente Modell-Interface Standardimplementation JList ListModel DefaultListModel JComboBox ComboBoxModel DefaultComboBoxModel JTable TableModel DefaultTableModel JTree TreeModel DefaultTreeModel 16 / 44

17 Ereignisse und Listener Reaktion auf Benutzereingaben Bislang: Erstellen von Steuerelementen (und Platzieren im Fenster). Nun: Reaktion auf Benutzereingaben Senden und Lauschen Alle Oberflächenkomponenten in Swing senden passende Ereignissnachrichten wenn ein Benutzer mit ihnen interagiert z. B. falls eine Schaltfläche gedrückt wird oder ein Listenelement ausgewählt wird Die Nachricht wird an alle Listener geschickt, die dem Sender bekannt sind (die das Interface EventListener implementieren) Wenn man an einer Nachricht interessiert ist, muss man sich beim Sender registrieren 17 / 44

18 Ereignisse und Listener Reaktion auf Benutzereingaben Beispiel Eine Schaltfläche sendet ein ActionEvent wenn sie gedrückt wird Registrierung eines listeners mit addactionlistener Der Listener ist abstrakt, es muss die Methode actionperformed( ActionEvent e ) implementiert werden die Methode wird aufgerufen wenn der Button gedrückt wird Einfachste Implementation: als anonyme Klasse Aber: wird schnell unübersichtlich. Dann Auslagern in eigene Klassen 18 / 44

19 Ereignisse und Listener Beispiel Schaltfläche und Listener als anonyme Klasse // Create a label, button and checkbox to the final JButton button = new JButton( "Hallo" ); // Add an action listener to the button button.addactionlistener( new ActionListener() { /** Change button text */ public void actionperformed( ActionEvent e ) { if( button.gettext().equals( "CoMa" ) ) button.settext( "Hallo" ); else button.settext( "CoMa" ); } } ); 19 / 44

20 Ereignisse und Listener Beispiel Schaltfläche und das Fenster als Listener Die Oberfläche selbst kann auch als Listener fungieren: // Create a class extending JFrame class MyFrame extends JFrame implements ActionListener { Dann kann die Instanz des Fensters an den Listener übergeben werden: // Add an action listener to the button button.addactionlistener( this ); Die Methoden des Listeners sind nun Methoden der Klasse: /** Change button text */ public void actionperformed( ActionEvent e ) { if( button.gettext().equals( "CoMa" ) ) button.settext( "Hallo" ); else button.settext( "CoMa" ); } 20 / 44

21 Ereignisse und Listener Beispiel Schaltfläche und separate Klasse als Listener Eine eigene Klasse für den Listener: // Create a class for the action listener public class MyListener extends ActionListener { /** Change button text */ public void actionperformed( ActionEvent e ) { System.out.println( "Schaltfläche gedrückt" ); } } Dann kann die Instanz des Fensters an den Listener übergeben werden: // Add an action listener to the button button.addactionlistener( new MyListener() ); Vorteile: Objektorientiert, Trennung von Oberfläche und Listener Gut für komplexen Programmcode geeignet 21 / 44

22 Ereignisse und Listener Einige Standardkomponenten in Swing Steuerelement Java-Komponente Interessanter Listener Fenster JFrame WindowListener Schaltfläche JButton ActionListener Textfeld JTextField KeyListener Textbereich JTextArea KeyListener Fortschrittsbalken JProgressBar ChangeListener Listenfeld JList ListSelectionListener Kombinationsliste JComboBox ItemListener Tabelle JTable Kontrollkästchen JCheckBox ActionListener Optionsfeld JRadioButton ActionListener Formatiertes Textfeld JEditPane KeyListener Hoch- Runter-Auswahl JSpinner ChangeListener Baum JTree spezielle TreeListener KeyListener, MouseListener, MouseWheelListener und MouseMotionListener für allgemeine Komponenten (JComponent). 22 / 44

23 Ereignisse und Listener Adapterklassen Listener im Detail Listener sind Interfaces alle Methoden müssen überschrieben werden Für MouseListener sind das 5 Stück! Wenn man am Mausklick interessiert ist, aber Mausbewegungen egal sind, bedeutet das 4 leere Methoden Als Lösung nutze Adapterklassen. Enthalten alle abstrakten Methoden leer vorimplementiert! Einige wichtige Adapterklassen: WindowAdapter, MouseAdapter, KeyAdapter 23 / 44

24 Container-Komponenten Anordnen von Komponenten in Containern Layouts von Containern Anordnung wird festgelegt von einem LayoutManager Wird mit setlayout( LayoutManager ) gesetzt Der zweite Parameter von.add() spezifiziert die Anordnung in Abhängigkeit vom gewählten LayoutManager Das Standardlayout ist FlowLayout und setzt alle Komponenten nebeneinander. Alle Container können ineinander verschachtelt werden! 24 / 44

25 Container-Komponenten Das BorderLayout Unterteilt das Fenster in 5 Bereiche Oben, Unten, Links, Rechts und Mitte Steuerelemente werden gestreckt, so dass der komplette Bereich ausgefüllt wird 25 / 44

26 Container-Komponenten Beispiel BorderLayout // Create a panel containing several components JPanel p = new JPanel(); // Set the layout manager for the panel p.setlayout( new BorderLayout() ); // Add some components to the panel // Each component can have one of 5 positions p.add( new JButton( "North" ), BorderLayout.NORTH ); p.add( new JButton( "South" ), BorderLayout.SOUTH ); p.add( new JButton( "East" ), BorderLayout.EAST ); p.add( new JButton( "West" ), BorderLayout.WEST ); p.add( new JButton( "Center" ), BorderLayout.CENTER ); 26 / 44

27 Container-Komponenten Das GridBagLayout Komplizierte Variante eines Gitters Teilt den Bereich in ein Gitter ein Elemente können über mehrere Spalten und Zeilen gehen Anordnung über Bedingungen und Gewichte Relativ kompliziert Einfaches Beispiel mit 5 Schaltflächen auf layout/gridbag.html benötigt etwa 40 Zeilen Code! Das einfachere GridLayout stellt ein Gitter zur Verfügung, in dem alle Komponenten gleiche Breite und Höhe haben und nur eine Zelle belegen können. 27 / 44

28 Container-Komponenten Das TableLayout Die bessere Gittervariante Beispiel Kann Komponenten ebenfalls auf einem Gitter platzieren Größe der einzelnen Zellen wird durch ein 2-dimensionales Array angegeben Absolute, relative und spezielle Größen möglich: Relativ: Zahlen von 0 bis 1 Absolut: Zahlen größer als 1 Speziell: TableLayout.PREFERRED, TableLayout.FILL Nicht offiziell im Umfang von Swing enthalten, nur als Bibliothek Angabe der Position von Schaltflächen über einen Koordinatenstring:.add( comp, "1,2,6,9") fügt eine Komponente comp hinzu, die den quadratischen Bereich von (1, 2) bis (6, 9) ausfüllt. 28 / 44

29 Container-Komponenten Beispiel TableLayout // Create the array for the layout double[][] size = { // Columns {10, TableLayout.PREFERRED, 10, TableLayout.FILL, 10}, // Rows {10, 0.12, 10, TableLayout.FILL, 10} }; // Set the layout manager for the panel panel.setlayout( new TableLayout( size ) ); // Add some components to the panel and the panel to the f panel.add( new JButton( "Links" ), "1,1" ); panel.add( new JButton( "Rechts" ), "3,1" ); panel.add( new JButton( "Unten" ), "1,3,3,3" ); frame.getcontentpane().add( panel ); 29 / 44

30 Container-Komponenten Weitere Layouts CardLayout Mehrere Komponenten aufeinander Nur eine wird angezeigt Wie Kartenstapel, wo nur die oberste Karte sichtbar ist BoxLayout Mehrere Komponenten nebeneinander oder übereinander Komponenten nebeneinander, auch wenn Fenstergröße verändert wird Nur für einfache Fälle geeignet, einfacher als TableLayout 30 / 44

31 Container-Komponenten Einige weitere Container in Swing JTabbedPane Ein Karteikartensystem mit Reitern JSplitPane Teilt das Fenster in zwei Bereiche mit verschiebbarem Trennelement JScrollPane Zeigt horizontale und vertikale Scrollbalken an Fungiert auch als Container für Elemente in den Ecken JToolBar Eine Symbolleiste Am oberen Rand angedockt oder auch als eigenes Fenster JMenuBar Spezieller Container der Menüelemente enthalten kann Eine Statusleiste (für den unteren Fensterrand) fehlt in Swing. Eine simple Variante kann von uns bereitgestellt werden, wenn ihr eine solche nutzen wollt. 31 / 44

32 Standarddialoge Schnelle Meldungen // Display an error message JOptionPane.showMessageDialog( // The parent window frame, // The error message "Schiefgelaufen!", // The Title "Fehler", // The symbol for the message JOptionPane.ERROR_MESSAGE ); 32 / 44

33 Standarddialoge Einen Text eingeben // Display a dialog to input a text String s = (String)JOptionPane.showInputDialog( // The parent frame frame, // The text "The answer to life, the universe and everything:", // The title "Question", // The symbol JOptionPane.PLAIN_MESSAGE ); 33 / 44

34 Standarddialoge Schnelle Entscheidungen // Custom text for the buttons Object[] options = {"Rote Pille", "Blaue Pille"}; // Get the index of the chosen button int n = JOptionPane.showOptionDialog( // The parent window frame, // Text in the dialog "Wähle eine Pille...", // Message title "Die wichtigste Entscheidung deines Lebens", // Style for the dialog: use buttons JOptionPane.YES_NO_CANCEL_OPTION, // Symbol and additional icon JOptionPane.QUESTION_MESSAGE, null, // The list of options and default option options, options[1] ); 34 / 44

35 Standarddialoge Weitere Dialoge: Spezialisierte Dialoge JColorChooser Zeigt ein Dialog zur Auswahl einer Farbe an JFileChooser Zeigt einen Dialog zum Öffnen/Speichern an 35 / 44

36 Umgang mit rechenintensiven Arbeiten in Swing Arbeitsweise von Swing Der Ereignis-Thread Jede Interaktion sendet ein Ereignis (Event) an den EDT Im EDT läuft eine Schleife die Nacheinander alle Ereignisse bearbeitet Wenn notwendig, werden passende EventListener aufgerufen Lange Berechnungen in Ereignisbehandlungsmethoden lassen die Oberfläche einfrieren Außerdem: deutlicher Geschwindigkeitszuwachs 36 / 44

37 Umgang mit rechenintensiven Arbeiten in Swing Arbeit auslagern in Threads Generelle Funktionsweise Java stellt die abstrakte Klasse SwingWorker<T,V> zur Verfügung Kann ein Ergebnis vom Typ T berechnen Kann zwischendurch Fortschritt vom Typ V ausgeben Aufgaben werden in der abstrakten Methode public T doinbackground() ausgeführt Ausführung in einem neuen Thread mit execute() done() wird (im EDT) aufgerufen, wenn die Ausführung beendet ist 37 / 44

38 Umgang mit rechenintensiven Arbeiten in Swing Arbeit auslagern in Threads forts. Anzeigen von Fortschritt Beispiel Fortschritt der Berechnung wird mit publish( V ) abgesendet dies passiert im neu gestarteten Thread process( List<V> chunks ) erhält eine Liste von evtl. mehreren Fortschrittsnachrichten (im EDT) es kann auf Swing-Komponenten zugegriffen werden Annahmen: Berechne ein Zwischenergbnis in 1 Millisekunde und sende Fortschritt mit publish Aktualisieren der Oberfläche dauert 0, 1 Sekunden Die Oberfläche kann nur jeden 100. Status anzeigen. Deshalb: Nachrichten werden gesammelt als Liste an process gegeben 38 / 44

39 Umgang mit rechenintensiven Arbeiten in Swing Beispiel SwingWorker /** A class computing a long with status text */ class Worker extends SwingWorker<Long, String> { /** Search for the next prime */ public Long doinbackground() { findnextmersenneprime( ); } /** Yipeeh, we are done. */ protected void done() { label.settext( "Gefunden: " + get() ); } } /** Give out some status text. */ protected void process( List<String> chunks ) { // Set the last process message as status text label.settext( chunks.get( chunks.size()-1 ) ); } 39 / 44

40 Manuelles Zeichnen Einleitung Grundlagen Oft gibt es kein spezielles Steuerelement für eine Aufgabe Erzeugen neuer Steuerelemente die von JComponent erben Zeichnen der Komponente mit paint( Graphics ) Java2D hat einen sehr großen Funktionsumfang! 40 / 44

41 Manuelles Zeichnen Beispiel Java2D Java2D initialisieren public void paint( Graphics g ) { super.paint( g ); // Set up the java2d graphics object Graphics2D g2d = (Graphics2D)g; // Set quality g2d.setrenderinghint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); } 41 / 44

42 Manuelles Zeichnen Beispiel Java2D (2) Zeichenoptionen setzen // Set a drawing color. Here red g2d.setcolor( Color.red ); // Set a stroke type. Here: thick lines g2d.setstroke( new BasicStroke( 5 ) ); // Set a font by name g2d.setfont( new Font( "Comic Sans MS", Font.BOLD, 20 ) ); // or by type g2d.setfont( new Font( Font.SERIF, Font.PLAIN, 14 ); // or derive new font from the current font g2d.setfont( g2d.getfont().derivefont( 20f ) ); 42 / 44

43 Manuelles Zeichnen Beispiel Java2D (3) Formen Zeichnen // Draw a line, from start point to end point g2d.drawline( 0, 0, getwidth(), getheight() ); // Draw a rect between upper left and lower right g2d.drawrect( left, top, right, bottom ); // Draw a text starting in a point g2d.drawstring( "Text", startx, starty ); // Draw ellipse. Start us upper left of // the bounding rectangle g2d.drawarc( x, y, width, height, 0, 360 ); 43 / 44

44 Manuelles Zeichnen Beispiel Java2D (4) Ein Bild laden Viele Möglichkeiten. Komfortabel: die ImageIO-Klasse // Try to load an image. IOException may be thrown BufferedImage image; try { image = ImageIO.read( new File( "image.png" ) ); } catch( IOException ex ) { // Handle exception } // Draw an image from top left with width and height g2d.drawimage( image, topx, topy, width, height, this ); 44 / 44

Grafische Benutzeroberflächen in JAVA

Grafische Benutzeroberflächen in JAVA Grafische Benutzeroberflächen in JAVA Jan-Philipp Kappmeier Technische Universität Berlin 15. 05. 2012 Inhalt 1 Swing-Einführung Einleitung Ein Fenster erstellen 2 Swing-Komponenten Einfache Komponenten

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

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

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt GUI GUI = Graphical User Interface Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt Gute Übersicht über alle Funktionalitäten

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

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

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java

Mehr

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

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

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard

Mehr

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

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

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in

Mehr

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

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

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

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

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

Java GUI Entwicklung mit Swing

Java GUI Entwicklung mit Swing Seminarunterlage Version: 5.03 Version 5.03 vom 13. Februar 2014 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Swing : Komponeneten I (Teil 1) Was ist Swing?

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

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

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

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

GUI Programmierung mit javax.swing

GUI Programmierung mit javax.swing java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick

Mehr

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

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

Mehr

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

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für

Mehr

Ereignisse (Events) in Java

Ereignisse (Events) in Java Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird

Mehr

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

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

Programmieren II. Die Klasse JList. Vorlesung 5. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester JList.

Programmieren II. Die Klasse JList. Vorlesung 5. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester JList. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 37 JList JTable Layout-Manager GridBagLayout 2 / 37 Die Klasse JList Die Klasse JList stellt einen Container für Auswahllisten

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

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm

Mehr

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

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

JAVA Oberflächen mit Swing

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

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

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.06.07 G. Bohlender (IANM UNI Karlsruhe) Swing 27.06.07 1 / 10 Übersicht 1 Einführendes

Mehr

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

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Graphische Benutzerschnittstellen I GUI erzeugen Seite 1 GUI GUI: Graphical User Interface Graphische Benutzeroberfläche Seite 2

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

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

JButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 30 2 / 30 JButton, JCheckBox, JRadioButton In Swing existieren drei wesentliche Klassen für Schaltflächen: JButton für normale

Mehr

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

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

Universität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek

Universitä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)

Mehr

Java für Computerlinguisten

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

Mehr

Vorlesung Programmieren

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

Layout Manager. Astrid Beck FHT Esslingen

Layout Manager. Astrid Beck FHT Esslingen Layout Manager Astrid Beck FHT Esslingen Layout Manager Layout Manager arrangieren den Inhalt eines Containers gemäß vorgegebener Regeln Layout Manager BorderLayout North, South, East, West, Center FlowLayout

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

jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout.

jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout. 04.07.2011 Lösungsvorschlag 1. Aufgabe (12 + 12 Punkte): Screendesign : im Center: Label mit Bild 3P: Panel im West mit BoxLayout und TextField, Scrollpane und TextArea 4P: Panel im East mit FlowLayout

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

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

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

Grafische Benutzeroberflächen

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

Mehr

Kapitel 7: Ereignis-basierte Kommunikation

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

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 19 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 19 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 20 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 20 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

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

GroupLayout Anmerkung

GroupLayout Anmerkung Swing Layouts Layoutmanager Ordnen Elemente eines Containers nach einem bestimmten Verfahren an Der Container erfragt bei jeder Neudarstellung bei seinem Layoutmanager, wie die Komponenten des Containers

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

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

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

Instrumentierung und Dekodierung

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

Mehr

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

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

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Drag and Drop (DnD) 1. Transfer-Mechanismus 2. Transfer-Support 3. Cursor-Symbole 4. Einführendes Beispiel 5. Komponenten DnD-fähig machen 6. Standard DnD-Verhalten ändern Folie 1 Lernziele Sie

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

Liste Programmieren Java Überblick

Liste 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

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische 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

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

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Inhaltsverzeichnis Einleitung...1 Die Begleit-CD zu diesem Buch...5 Erweiterungen für Java Ereignisse...15

Inhaltsverzeichnis 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

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

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

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

Mehr

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

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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Ereignis-Verwaltung 2 Layout-Typen GridLayout

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

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick

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

Mehr

Javakurs für Fortgeschrittene

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

Mehr

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

Graphische Oberflächen Teil 1

Graphische 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

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Grafische Benutzungsschnittstellen (GUIs) mit Swing

Grafische Benutzungsschnittstellen (GUIs) mit Swing Java: Kapitel 7 Grafische Benutzungsschnittstellen (GUIs) mit Swing Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 7 Die GUI-Bibliotheken

Mehr

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101 Eingabe von Texten SWE-101 Komponente TextField: einzeiliger, edierbarer Text Ereignisse: ActionEvent (wie bei Button) ausgelöst bei der Eingabe von Return einige Methoden (aus der Oberklasse TextComponent):

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

JAVA2D OKTOBER package at.ac.wuwien.examples.swingdemo; 3 import javax.swing.*; 5 public class SimpleGUI extends JFrame {

JAVA2D OKTOBER package at.ac.wuwien.examples.swingdemo; 3 import javax.swing.*; 5 public class SimpleGUI extends JFrame { GUIs mit Swing Swing und Java2D Albert Weichselbraun Swing setzt auf AWT auf leichtgewichtige Komponenten Realisiert die MVC (Model-View-Controller) Architektur Komponenten: siehe Index http://java.sun.com/docs/books/tutorial/

Mehr

Ereignisverwaltung und Layout-Typen

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

Mehr

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

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

6. Objektorientiertes Design

6. Objektorientiertes Design 6. Objektorientiertes Design 6.1 Entwurfsmuster 6.2 Zusammenfassendes Beispiel 6.3 Umsetzung des Model-View-Controller- Musters in Java 6. Objektorientiertes Design 6-1 Grundlage des objektorientierten

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

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

Grafische Benutzungsschnittstellen (GUIs) mit Swing

Grafische Benutzungsschnittstellen (GUIs) mit Swing Java: Kapitel 7 Grafische Benutzungsschnittstellen (GUIs) mit Swing Programmentwicklung WS 2009/2010 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 7 Die GUI-Bibliotheken

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

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 9 Übungen: Applets Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 1. Java-Applet mit Text 2. Java-Applet mit Bild und Text 3. Java-Applet mit Grafik 9 Applets 4. Java-Applet

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

!!!" # $ # %&' $ ' ( )

!!! # $ # %&' $ ' ( ) !!!" #$ #%&'$' () *)+)'& *',- import javax.swing.* ) import javax.swing.*; public class SimpleFrameTest { public static void main(string[] args) { SimpleFrame frame = new SimpleFrame(); )) )-)- ).'&-)

Mehr

JAVA Look & Feel Design Guidelines

JAVA Look & Feel Design Guidelines JAVA Look & Feel Design Guidelines Stefan Diener / Jul 24, 2007 / Page 1 Überblick Motivation Abstände Labels Allgemeine Regeln für Dialoge Toolbar & Menüs Shortcuts & Mnemonics Texte im GUI Weitere interessante

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

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

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

Mehr

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