Grafische Benutzeroberflächen in JAVA
|
|
- Jens Hofer
- vor 8 Jahren
- Abrufe
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 Einführung Multithreading Umgang mit rechenintensiven Arbeiten in Swing Animation in Swing 4 Java2D Manuelles Zeichnen 2 / 53
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 / 53
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 / 53
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 / 53
6 Einleitung Obligatorische Informationsquellen Java ist auch eine Insel (10. Auflage, mit Java 7) Swing Tutorials und Beispiele von Oracle Wie immer: die JAVA-API für das JDK 1.6 bzw. für Java 7 CoMa-Forum Google ist dein Freund 6 / 53
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 / 53
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 / 53
9 Ein Fenster erstellen Beispiel: Funktionen für Fenster // Set the size of the window setsize( 640, 480 ); // Place window in the center of the screen Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); setlocation( (d.width - getsize().width) / 2, (d.height - getsize().height) / 2 ); // do not use pack if the window should have a specific si // pack(); 9 / 53
10 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 10 / 53
11 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 11 / 53
12 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(); 12 / 53
13 Ein Fenster erstellen Systemabhängiges Look and Feel Mehrere Oberflächen-Designs zur Auswahl. Mindestens: System-Typisch und Swing-Standard Seit neueren Java 1.6-Versionen: NIMBUS import javax.swing.uimanager; try { // System look and feel UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); // Nimbus: UIManager.setLookAndFeel( "javax.swing.plaf.nimbus.nimbuslookandfeel" ); } catch( Exception e ) { // Handle error case } 13 / 53
14 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, / 53
15 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 ); 15 / 53
16 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 16 / 53
17 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 ); 17 / 53
18 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 18 / 53
19 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 Ereignisnachrichten 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 19 / 53
20 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 20 / 53
21 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" ); } } ); 21 / 53
22 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" ); } 22 / 53
23 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 23 / 53
24 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). 24 / 53
25 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 25 / 53
26 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! 26 / 53
27 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 27 / 53
28 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 ); 28 / 53
29 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. 29 / 53
30 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. 30 / 53
31 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 ); 31 / 53
32 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 32 / 53
33 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. 33 / 53
34 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 ); 34 / 53
35 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 ); 35 / 53
36 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] ); 36 / 53
37 Standarddialoge Weitere Dialoge: Spezialisierte Dialoge JColorChooser Zeigt ein Dialog zur Auswahl einer Farbe an JFileChooser Zeigt einen Dialog zum Öffnen/Speichern an 37 / 53
38 Standarddialoge Beispiel: Datei öffnen FileFilter ff = new FileFilter() public boolean accept( File f ) { return f.isdirectory() f.getname().tolowercase().endswith( ".txt" ); public String getdescription() { return "Text"; } }; filechooser = new JFileChooser( "./" ); filechooser.setfilefilter( ff ); if( filechooser.showopendialog( parent ) == JFileChooser.APPROVE_OPTION ) load( filechooser.getselectedfile() ); 38 / 53
39 Einführung Multithreading Was sind Threads? Threads erlauben parallele Ausführung von Programmen wird immer wichtiger durch komplexere Aufgabenstellungen und große Verfügbarkeit von Mehrkernprozessoren problematisch: Beziehungen zwischen verschiedenen Threads die aufeinander angewiesen sind und gleiche Ressourcen benutzen! Deadlocks können auftreten Deadlock Gemeinsame Ressource R, z. B. Variable Thread A belegt R und wartet auf Thread B Thread B wartet auf Freigabe von R Vorsichtig programmieren! 39 / 53
40 Einführung Multithreading Threads in Java Benutzung von Threads abstrakte Klasse Thread Methode run muss implementiert werden. Hier wird die Arbeit erledigt Thread wird gestartet durch start() Gemeinsame Ressourcen Java Codewort synchronized möglich für Funktionen oder Codeblöcke Code im synchronized-bereich wird ausgeführt, ohne dass andere Threads Zugriff auf die benutzten Variablen erhalten 40 / 53
41 public static void main( String args[] ) { ThreadCount c1 = new ThreadCount( "1", 200 ); c1.start(); } } 41 / 53 Einführung Multithreading Beispiel: Zähl-Thread public class ThreadCount extends Thread { private int c; public ThreadCount( String name, int c ) { super( name ); this.c = c; public void run() { for( int i = 0; i < c; ++i ) System.out.println( "Thread " + getname() + " :" + i }
42 t.start(); t2.start(); // Starte Threads t.join(); t2.join(); // Warte auf ende System.out.println( "Minimum: " + min ); } 42 / 53 Einführung Multithreading Beispiel: Array summieren public class ThreadMinimum extends Thread { static int sum; // Summe static int[] numbers; // Zufallszahlen public void run() { for( int i = start; i <= end; ++i ) addnumber( numbers[i] ); } public static synchronized void addnumber( int i ) { sum += i; } public static void main( String args[] ) throws Interrup ThreadMinimum t = new ThreadMinimum( 0, n/2 ); ThreadMinimum t2 = new ThreadMinimum( n/2+1, n-1 );
43 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 Im EDT müssen alle Methoden schnell zurückkehren Außerdem: deutlicher Geschwindigkeitszuwachs 43 / 53
44 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 44 / 53
45 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 45 / 53
46 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 ) ); } 46 / 53
47 Animation in Swing Animation Klasse Timer führt ein Ereignis in definierten Intervallen aus ruft ActionListener auf läuft in eigenem Thread aufgerufener ActionListener im EDT erlaubt Animation Intervallangabe in Millisekunden 47 / 53
48 Animation in Swing Beispiel Timer // Set up a timer that is executed once a second Timer timer = new Timer( 1000, new ActionListener() public void actionperformed( ActionEvent e ) { // Just repaint the user interface repaint(); } }); // Start the timer timer.start(); 48 / 53
49 Manuelles Zeichnen Einleitung Grundlagen Zeichnen 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! Überlegen, wie man das Ziel erreicht Koordinaten müssen berechnet werden: im Wesentlichen zweidimensionale Vektormathematik Sinnvoll alles Prozentual zu machen. Beispiel: Quadratgröße in Dem Carlos seine Flucht 49 / 53
50 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 ); } 50 / 53
51 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 ) ); 51 / 53
52 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 ); 52 / 53
53 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 ); 53 / 53
Grafische Benutzeroberflächen in JAVA
Grafische Benutzeroberflächen in JAVA Jan-Philipp Kappmeier Technische Universität Berlin 28. 04. 2010 Inhalt 1 Swing-Einführung Einleitung Ein Fenster erstellen 2 Swing-Komponenten Einfache Komponenten
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
MehrZentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische
MehrGUI Programmierung in Java
vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf
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
MehrEinstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
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
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:
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
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
MehrHochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:
MehrKap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster
Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.
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
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
MehrDHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
MehrGrafische Benutzeroberflächen mit Swing
Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
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
MehrAbteilung 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
MehrEinführung in die Programmierung für NF. Übung
Einführung in die Programmierung für NF Übung 09 18.12.2013 Inhalt Korrektur Blatt 8 Wiederholung Design Patterns Einführung in GUI s mit Java Swing und AWT Einführung in die Programmierung für NF Übung
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
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
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
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrTutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane
Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
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
MehrBenutzeroberflächen. Java Teil 4
Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in
MehrDokumentation des Projektes Tic Tac Toe
Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
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
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrAK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben
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
Mehrhttp://www.tutego.com/ Schieberegler und analoge Anzeigen
http://www.tutego.com/ Schieberegler und analoge Anzeigen http://www.tutego.com/ JScrollBar Schieberegler Unter Swing ersetzt javax.swing.jscrollbardie Klasse java.awt.scrollbar. Direkt wird die Klasse
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
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
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,
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrSwing :Komponenten I (Teil 2)
l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
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.
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
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
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
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,
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrJAVA 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
MehrApplets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.
Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrJava Lab 2006/12/13 Client
Java Lab 2006/12/13 Client Prof. Dr. Bernhard Humm Version: 1.0 Date: 2006/12/06 Darmstadt University of Applied Sciences Department of Computer Science Schöfferstr. 8b 64295 Darmstadt Germany 1 Einleitung
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
Mehr...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
MehrText Formatierung in Excel
Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden
MehrInformatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung
Informatik Kurs 12 André Hoffmann Delphi Einführung in die Windows- Programmierung Grundlagen Entwicklung von Windows-Programmen Relativ unkompliziert durch typische, vorgefertigte Elemente Programmiertechnische
MehrComic Life 2.x. Fortbildung zum Mediencurriculum
Comic Life 2.x Fortbildung zum Mediencurriculum - 1 - Comic Life Eine kurze Einführung in die Bedienung von Comic Life 2.x. - 2 - Starten von Comic Life Bitte starte das Programm Comic Life. Es befindet
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
Mehr5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
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
Mehr3. GLIEDERUNG. Aufgabe:
3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung
MehrWhiteStarUML Tutorial
WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/
MehrMensch-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
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
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
MehrSchritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED
Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED Mit Google Chrome nach MIT App Inventor suchen. In den Suchergebnissen (siehe unten) auf
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrJava 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
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
MehrTutorial: Wie kann ich Dokumente verwalten?
Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
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
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrHTML Programmierung. Aufgaben
HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite
MehrEINFACHES HAUSHALT- KASSABUCH
EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrEchoLink und Windows XP SP2
EchoLink und Windows XP SP2 Hintergrund Für Computer auf denen Windows XP läuft, bietet Microsoft seit kurzem einen Update, in der Form des Service Pack 2 oder auch SP2 genannt, an. SP2 hat einige neue
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrGrafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung
Grafikausgabe mit dem Abstract- Windowing-Toolkit Eine Einführung Inhalt Einführung Grundlegende Eigenschaften des Abstract-Windowing- Toolkit (AWT) Grundlagen Grafikausgabe Linien zeichnen Rechtecke zeichnen
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrGUI-Programmierung in Java
GUI-Programmierung in Java Jan Pihl, Daniel Bugdalle 1. Einleitung Betreuer: Thomas Ströder Die Bedienung von Software stellt sich oft als etwas schwierig für viele Nutzer heraus, wenn es keine grafische
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
MehrTechnische Dokumentation SilentStatistikTool
Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...
MehrProgrammieren II. Die Klasse JList. Vorlesung 5. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester JList.
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 37 JList JTable Layout-Manager GridBagLayout 2 / 37 Die Klasse JList Die Klasse JList stellt einen Container für Auswahllisten
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrEreignisbehandlung 21
Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen
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
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
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrPCB manuell generieren
60 PCB manuell generieren Folgende Ränder müssen gezeichnet bzw. importiert werden: 1. Mechanischer Rand der Platine (Mechanical 1 Layer) 2. Elektrischer Rand der Platine (Keep Out Layer) für Signal-Layers
Mehr