Swing oder AWT? Was ist das: Swing bzw. AWT. Haupterkennungsmerkmal von Swing Source-Code:
|
|
- Helga Beltz
- vor 7 Jahren
- Abrufe
Transkript
1 Swing oder AWT? Was ist das: Swing bzw. AWT Beides sind Klassenbibliotheken mit fertig programmierten Klassen zur Erstellung von graphischen Benutzeroberflächen mit Fenstern, Textfeldern, Buttons etc.. AWT wurde zuerst programmiert und ist ziemlich begrenzt. Swing wurde später hinzugefügt und baut teilweise auf AWT auf. Swing ist wesentlich umfangreicher und flexibler als AWT. Es gibt heutzutage eigentlich keinen Grund eine reine AWT Anwendung zu schreiben, da es inzwischen auch möglich ist Applets mit Swing zu schreiben. Haupterkennungsmerkmal von Swing Source-Code: Man erkennt Swing-Programme daran, dass die Klassen der Komponenten alle mit 'J' anfangen, während das bei AWT nicht so ist: Beispiel für einen Button in AWT: Button b1=new Button("bitte klicken"); Swing: JButton b1 = new JButton("bitte klicken"); Ausserdem benötigen Swing-Programme folgende Import Anweisung: import javax.swing.* oder Ähnliches.
2 Ein erstes Beispiel: Zunächst ein sehr einfaches Demoprogramm welches ein Fenster mit dem typischen Erscheinungsbild darstellt: AWT: Swing: Was fällt auf? Beide Anwendungen schliessen nicht korrekt, wenn man auf den Schliessen Knopf 'x' klickt!
3 Ab jetzt nur noch Swing JFrame korrekt schliessen: Diese Zeile einfügen Von JFrame erben: Bisher haben wir in der main(...) Methode ein Objekt von JFrame angelegt, besser ist es aber von JFrame zu erben: JFrame Swing_Frame1
4 In einen Frame zeichnen Man sollte nicht direkt in einen JFrame zeichnen, statt dessen wird eine neue Klasse 'DrawPanel' von JPanel abgeleitet, welche paint(...) überschreibt: public class DrawPanel extends JPanel { public void paint(graphics g) { super.paint(g); g.setfont(new Font("Arial",Font.PLAIN,24)); g.drawstring("drawing with Java is easy!", 10, 20); g.setcolor(color.red); g.drawroundrect(20, 40, 60, 40, 20, 10); g.setcolor(color.blue); g.drawline(50, 50, 160, 200); g.setcolor(color.green); g.filloval(150, 50, 60, 100); public class Swing_Frame extends JFrame{ //Our Custom JFrame needs a constructor public Swing_Frame4(String title) throws HeadlessException { super(title); this.add(new DrawPanel()); this.setdefaultcloseoperation(jframe.exit_on_close); this.setsize(300, 250); public static void main(string[] args) { JFrame frame1 = new Swing_Frame("Frame with Drawingspace"); frame1.setvisible(true);
5 Mechanismus: Warum braucht man eine paint(...) Methode zum Zeichnen? Ein Programm in einer GUI-Umgebung arbeitet ereignissgesteuert. Immer wenn das Fenster neu gezeichnet werden muss, weil es z.b. gerade minimiert war und jetzt wieder maximiert wird, ruft das Betriebssystem die Methode paint(...) auf. Alles was in der Methode paint(...) programmiert ist, wird gezeichnet. Man sollte immer in einen eigenen JPanel zeichnen, nicht in das JFrame! Den graphischen Kontext Graphics, welcher der 'paint(graphics g)' Methode übergeben wird, kann man als eine Art Zeichenblatt betrachten. Statt eines Malstiftes hat dieser Methoden welche die unterschiedlichsten graphischen Figuren wie Kreise, Rechtecke und vieles mehr zeichnen können.
6 Übung: Schreiben Sie in die paint(...) Methode von DrawPanel ein Programm, welches untenstehendes Ergebnis erzeugt. Die Schneeflocken sind gefüllte Kreise mit zufälliger Grösse und Position. Benutzen Sie dazu die Methode Math.random(). Viel Spass beim Ausprobieren!
7 Ausschnitt aus der Swing /AWT Klassenhierarchie Object JComponent Button Label Choice Canvas Component JLabel JText JPanel Container JList JText JTextArea Window JComboBox AbstractButton List JScrollBar ScrollBar JMenuBar JToggleButton JMenu JButton CheckBox JOptionPane JCheckBox JMenuItem Frame Dialog JRadioButton JFrame JDialog
8 Elementare GUI-Komponenten hinzufügen Bisher haben wir dem Hauptfenster (JFrame) nur einen JPanel hinzugefügt. Dazu wurde die Methode add(...) von JFrame aufgerufen. Mit dieser Methode können einem "Container" beliebige GUI-Komponenten hinzugefügt werden. Ein Container ist eine GUI-Komponente, welche andere GUI-Komponenten aufnehmen kann. Die meisten Swing-Komponenten sind solche Container -> Folie7 Jetzt werden wir einen JButton und ein JTextField hinzufügen: Das Ergebnis schaut wohl nicht so aus wie wir uns das vorgestellt hatten! Der Button ist unter dem Textfeld verschwunden.
9 Elementare GUI-Komponenten hinzufügen Ganz so einfach ist es wohl doch nicht, deshalb änderen wir ein paar Kleinigkeiten, was ein besseres Ergebnis liefert: public class Swing_Frame5 extends JFrame { private JButton b1,b2; private JTextField tf; public Swing_Frame5(String title) throws HeadlessException { super(title); //get reference of the ContentPane //and set to FlowLayout Container main=this.getcontentpane(); main.setlayout(new FlowLayout()); main.add(new JTextField(" 0")); main.add(new JButton("click me")); Diese Zeile einfügen this.setdefaultcloseoperation(jframe.exit_on_close); this.setsize(300, 250); public static void main(string[] args) { JFrame frame1 = new Swing_Frame5("Frame with Button and Textfield"); frame1.setvisible(true);
10 Elementare GUI-Komponenten hinzufügen Was wurde geändert?: Komponenten werden nicht direkt in einen JFrame gepackt, sondern in das Contenpane des JFrames, welches man mit der Methode:getContentPane() holen kann. Dem Contentpane wird ein FlowLayout zugewiesen. Layouts sind Klassen, welche die Anordnung von GUI- Komponenten in Containern steuern, aber dazu mehr im Kapitel LayoutManager.
11 Was passiert beim Klicken auf den Button? So wie das Programm jetzt ist, passiert noch gar nichts wenn man auf den Button klickt. Wir erweitern jetzt das Programm so, dass beim Klicken auf den Button im Textfeld der Text: "you clicked 1 times..." erscheint. Bei jedem erneuten Klick wird die Zahl im Text um eins erhöht, somit haben wir einen Zähler welcher die Anzahl Klicks zählt. Für diese einfach scheinende Erweiterung muss man zunächst verstehen wie in Java Ereignisse behandelt werden. Dafür ist wiederum das Verständnis von Interfaces erforderlich, deshalb im Folgenden ein kurzer theoretischer Ausflug in die objektorientierte Programmierung:
12 Interfaces und ActionListener Das UML-Diagramm auf der rechten Seite zeigt 2 Klassen, wobei die Klasse Swing_Frame von JFrame abgeleitet ist und stellt damit unser Programmbeispiel dar. Angenommen die Klasse Swing_Frame müsste noch von einer weiteren Klasse erben, dann wäre das in Java nicht möglich. Mehrfachvererbung ist in Java nicht erlaubt! An Stelle von Mehrfachvererbung werden in Java Interfaces verwendet! In der UML-Darstellung sieht das dann so aus: JFrame Swing_Frame <<interface>> ActionListener JFrame So etwas ist in Java nicht erlaubt! implementiert Swing_Frame ActionListener JFrame Swing_Frame
13 Interfaces und ActionListener In der objektorientierten Sprache würde man hier sagen: Swing_Frame implementiert das Interface ActionListener! Ein Interface ist so etwas Ähnliches wie eine Klasse, mit dem Unterschied dass davon kein Objekt erzeugt werden kann und dass es dort nur leere Methodendeklarationen gibt. Hier ein Beispiel für ein Interface aus der Java Standartbibliothek: Die Definition ist gleich wie bei einer Klasse nur, dass anstatt class, interface geschrieben wird. In diesem Beispiel gibt es nur eine Methode die leer ist, also keinen Sourcecode beinhaltet.
14 Interfaces und ActionListener Eine Klasse erbt von einer Basisklasse mit dem Schlüsselwort extends, während eine Klasse ein Interface implementiert mit dem Schlüsselwort implements. Das UML-Diagramm weiter oben sieht dann als Programmcode folgendermassen aus: Programmcode der Klasse.... Diese Methode muss zwingend vorhanden sein, da sie im Interface definiert ist! Nochmal: Anstatt von ActionListener zu erben wird hier das Interface implementiert und das kann im Gegensatz zur Vererbung von beliebig vielen Interfaces gemacht werden!
15 Auf Button Click reagieren mit ActionListener Damit bei einem Click auf den Button das passiert was der Programmierer gern möchte, muss dem Button gesagt werden, wer auf ihn hört. Dies wird mit folgender Programmzeile gemacht: wobei b ein Objekt von JButton ist. Da diese Programmzeile in unserer Klasse Swing_Frame steht und wir this übergeben, sendet der Button die Klick-Nachricht an den Frame, in dem er sich befindet, also an Swing_Frame. Dies geht aber nur, wenn Swing_Frame vom Typ ActionListener ist. Diese Vorraussetzung wurde geschaffen wie in der vorigen Folie zu sehen ist. JFrame extends Swing_Frame implements <<ActionListener>> "click me" sendet Klick- Ereignis an ActionListner Swing_Frame und ruft dort actionperformed(...) auf + actionperformed(actionevent e) Swing_Frame implementiert ActionListener und ist somit vom Typ ActionListener!
16 actionperformed(...) auscodieren: Hier nun die komplette Klassendefinition: Nach dem ersten klicken auf 'click me': public class Swing_Frame6 extends JFrame implements ActionListener { private JButton b; private JTextField tf; private int nclicks=0; //counts the number of buttonclicks public Swing_Frame6(String title) throws HeadlessException { super(title); //get Contentpane and set Layoutmanager Container contpane=getcontentpane(); contpane.setlayout(new FlowLayout()); //create GUI-Elements... b=new JButton("click me"); tf=new JTextField("you clicked 0 times"); //...and add them to Contentpane contpane.add(b); contpane.add(tf); //Button notifies a click to his own JFrame b.addactionlistener(this); this.setdefaultcloseoperation(jframe.exit_on_close); this.setsize(300, 250); Nach dem zweiten klicken auf 'click me': //actionperformed(...) is called whenever an //action in this Frame is done. //In this case when the Button is clicked, it sends a //message to this JFrame which is an ActionListener public void actionperformed(actionevent e) { if(e.getactioncommand()=="click me") { nclicks++; tf.settext("you clicked "+nclicks+" times "); public static void main(string[] args) { JFrame frame1 = new Swing_Frame6( "Frame with Button and Textfield"); frame1.setvisible(true);
17 Übersicht der meisten Java Listener
18 Beispiel mit MouseListener public class DrawPanelWithMouseListener extends JPanel implements MouseListener { private Rectangle r; private Color basecolor=color.gray; private Color currentcolor; public DrawPanelWithMouseListener() { super(); r=new Rectangle(100,100,50,50); currentcolor=basecolor; this.addmouselistener(this); Bei einem Klick in das Rechteck wird es rot, ausserhalb davon grau public void paint(graphics g) { super.paint(g); g.setcolor(currentcolor); g.fillrect(r.x, r.y, r.width, r.height); public void mouseclicked(mouseevent e) { if(r.contains(e.getpoint())) { this.currentcolor=color.red; else { this.currentcolor=basecolor; this.repaint(); public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) {
19 Beschreibung: Das DrawPanelWithMouseListener implementiert einen MouseListener dafür muss es die Methoden 'mouseclicked(...)','mousepressed(...)','mouseentered(...), etc. enthalten, insgesamt sind es fünf. Da wir für das Programm vorläufig nur einen MouseClick abfragen müssen, sind alle Methoden ausser 'mouseclicked(...)' leer. In 'mouseclicked(mouseevent e)' kann aus dem Parameter e mit der Methode e.getpoint() die aktuelle Position des Mausezeigers ermittelt werden. In der Zeile if(r.contains(e.getpoint()) wird geprüft, ob der Mauszeiger innerhalb des Rechtecks ist. Demnach wird dann die Farbe auf rot oder grau gesetzt.
20 Interface MouseListener Hier der Code von MouseListener wie er in der Java Standard-Klassenbibliothek definiert ist: public interface MouseListener extends EventListener { Wie man sieht, können sogar Interfaces vererbt werden, sämtliche Listener sind in Java von EventListener abgeleitet. public void mouseclicked(mouseevent e); public void mousepressed(mouseevent e); public void mousereleased(mouseevent e); public void mouseentered(mouseevent e); public void mouseexited(mouseevent e);
21 Übersichtlicher mit Adapter Ein Listener kann auch in einer anderen Klasse implementiert werden, als in derjenigen in der das Event erzeugt wird: public class MouseListenerExtern implements MouseListener { DrawPanelWithMouseAdapter sender; public MouseListenerExtern(DrawPanelWithMouseAdapter sender) { this.sender = sender; public void mouseclicked(mouseevent e) { if(sender.getrectangle().contains(e.getpoint())) { sender.setcolor(color.red); else { sender.resetcolor(); sender.repaint(); Der Methode addmouselistener in DrawPanel... muss jetzt allerdings dieser Listener übergeben werden!: public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { public void mousepressed(mouseevent e) { addmouselistener(new MouseListenerExtern(this)); Der sender wird gebraucht, da der Listener auf das Rechteck und die Farbe von DrawPanel... zugreifen können muss. public void mousereleased(mouseevent e) {
22 Übersichtlicher mit Adapter Wenn man nun den MouseListener nicht implementiert, sondern als Klasse von MouseAdapter ableitet, müssen nur die Methoden geschrieben werden die man braucht: public class MouseHandler extends MouseAdapter{ DrawPanelWithMouseAdapter sender; public MouseHandler(DrawPanelWithMouseAdapter sender) { this.sender=sender; public void mouseclicked(mouseevent e) { if(sender.getrectangle().contains(e.getpoint())) { sender.setcolor(color.red); else { sender.resetcolor(); sender.repaint(); Dies funktioniert mit einem einfachen Trick: MouseAdapter implementiert MouseListener und damit alle seine Methoden. In der von MouseAdapter abgeleiteten Klasse wird einfach die mouseclicked(...) Methode überschrieben. MouseAdapter ist in der Java-Standardbibliothek vordefiniert! Diese Adapter gibt es für viele andere Listener auch. siehe Folie 17
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
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.
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
MehrEinführung in die OOP mit Java
Einführung in die OOP mit Java Das Event-Hanlding Übersicht Event - Handling Das im JDK 1.1 Grundlagen Ereignistypen Ereignisquellen Adapterklassen für den Nachrichtenverkehr Variante1: Implementierung
MehrGrafische 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
MehrUniversität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek
Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)
MehrGrafische Benutzeroberflächen
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Aufgabe Ein Benutzer soll
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
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
MehrJLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg )
Swing Komponenten Thomas Wieczorek http://www.wieczo.net/?p=76 Hier trage ich die Komponenten zusammen, die Kreling und Wiedling in ihren Klausuren oft verwendet haben. Bei Verbesserung: Bitte Kommentar
MehrEinführung in die Programmierung für NF. Grafische Benutzeroberflächen
Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.
MehrGrafische 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"
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
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
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
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
MehrVorlesung 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
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
MehrFachhochschule Stuttgart Prof. Uwe Schulz 14. Juli 2005 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4
Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort 1 Schleife 2 2 Code-Fragment mit
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,
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
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
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
MehrJava für Computerlinguisten
Java für Computerlinguisten 5. Grafische Userinterfaces Christian Scheible Institut für Maschinelle Sprachverarbeitung 31. Juli 2009 Christian Scheible Java für Computerlinguisten 31. Juli 2009 1 / 33
MehrProgrammieren II. Zeichnen in Swing-Komponenten. Heusch 18 Ratz Institut für Angewandte Informatik
Programmieren II Zeichnen in Swing-Komponenten Heusch 18 Ratz 16.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Zeichnen in Swing-Komponenten (1) Eine Swing-Komponente kann nicht
MehrEinstieg 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
MehrPraktikum 4: Grafiken und Ereignisse
Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das
MehrVorlesung 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
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
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
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
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
MehrEinführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische
MehrEreignisverwaltung und Layout-Typen
Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Ereignisverwaltung
Mehr/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();
Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,
MehrEAD 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,
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
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:
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
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
MehrAufbau einer typischen Java-Datei
Aufbau einer typischen Java-Datei 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [package mein.paket;] [import
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
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
MehrEinführung in die Programmierung für NF. Übung 08
Einführung in die Programmierung für NF Übung 08 Inhalt Eventbehandlung in Java Swing Einführung in die Programmierung für NF Übung 08 2 Eventbehandlung in Java Swing Wir haben bereits einige grafische
MehrGraphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
Mehr16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz
16 Zeichnen in Swing-Komponenten 2009 2014, Prof. Dr. D. Ratz 16.1 Grafische Darstellung von Komponenten Der Repaint-Manager sorgt für die grafische Darstellung der Komponenten Aktivierung beim erstmaligen
MehrAbstrakte Klassen, Interfaces
Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische
MehrProgrammieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik
Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Events in Java Graphische Anwendungen werden über Events gesteuert.
MehrGUI Programmierung mit javax.swing
java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick
MehrSwing. 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
MehrHeute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1
Heute Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files 17.01.2017 IT I - VO 11 1 Organisatorisches Noch zwei UE und eine Wissensüberprüfung Heute
MehrProgrammieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik
Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events
MehrProgrammieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik
Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events
MehrGUIs 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
MehrGrundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung
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
MehrFachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4
Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort Punkte 1 Schleife 2 2 Code-Fragment
Mehr04 - Actions. Actions
Actions Motivation!In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt.!häufig werden gleiche Aktionen durch verschiedene Swing-Komponenten ausgelöst. Z.B. durch
MehrEinfü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
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
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Toolbar 1. JToolBar 2. Menü 1. JMenuBar 2. JMenu 3. JMenuItem 4. KeyStroke 5. Beispiel JMenuDemo1 6. JCheckBoxMenuItem 7. JRadioButtonMenuItem 8. Beispiel JMenuDemo2 9. JPopupMenu 10. Beispiel
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:
MehrAuswahl aus mehreren Alternativen:
907 908 Texteingabe: TextField zeigt eine Text-Zeile, die vom Benutzer modifiziert werden kann. TextArea zeigt mehrere modifizierbare Text-Zeilen. Auswahl aus mehreren Alternativen: List scrollbare Liste
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,
MehrKapitel 7: Ereignis-basierte Kommunikation
Liste P: Programmieren mit Java WS 2001/2002, Prof. Dr. V. Turau, FH Wiesbaden Kapitel 7: Ereignis-basierte Kommunikation Folie 125 : Grafische Oberflächen Eine grafische Oberfläche besteht aus Komponenten.
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
MehrHochschule der Medien Prof. Uwe Schulz 13. Juli 2009 Klausur Informatik, EDV-Nr Seite 1 von 6. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 13 Juli 2009 Klausur Informatik, EDV-Nr 40301 Seite 1 von 6 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: Bearbeitungszeit: alle außer tragbare Computer und Nachbar
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
MehrSwing : Komponeneten I (Teil 1) Was ist Swing?
Was ist Swing? 1 Unterschied zu AWT (Abstract window Toolkit) Zusätzliche Komponenten von Swing,die zu Oberflächenerzeugung genutzt werden können: Keyboard Accelerators, also Tastenkombination zur Steuerung
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
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
MehrSommersemester Implementierung III: GUI und Verhalten (Teil 2)
Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des
Mehrpublic class Beispiel1 extends Frame {
Das AWT (Abstract Window Toolkit) Menge von Klassen und Interfaces im Paket java.awt.* Wird zur Erzeugung grafischer Benuterzoberflächen (Graphical User Interface, GUI) verwendet. SWING (zu finden im paket
MehrZiel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java
GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
MehrJavakurs 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.
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
Mehrimport java.awt.*; import java.awt.event.*; import javax.swing.*;
Swing Workshop Dieser Workshop enthält grundsätzliche Informationen über Swing und Java und regt mit einigen Beispielen und Übungen zum weiteren Erkunden dieses Themengebietes an. Kapitel 1: Das erste
MehrEreignisse (Events) in Java
Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird
MehrUniversitä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
MehrEinführung in die Programmierung für NF. Übung
Einführung in die Programmierung für NF Übung 10 08.01.2014 Inhalt Programmierung Blatt 9 Eventbehandlung in Java Swing InputDialoge in Java UML Einführung in die Programmierung für NF Übung 10 2 Programmierung
MehrProbeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
MehrObjektorientiertes Programmieren. Übungsblatt 5
Objektorientiertes Programmieren Christian Silberbauer Übungsblatt 5 Folgende Aufgaben beziehen sich weitgehend auf die GUI-Folien der Vorlesung. Speichern Sie bitte die einzelnen Versionen der KundenVerwaltung
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
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
Mehr6. 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
MehrSession 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
MehrWiederholung. Klassenhierarchie:
Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse
MehrTechniken 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
MehrEinfü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
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrGraphische Programmierung: GUIs: graphical user interfaces
Graphische Programmierung: GUIs: graphical user interfaces Ziel: Java -Programmierung und Handhabung von graphischen Benutzeroberflächen (in Applets) mehrere Fenster Fenster-Eigenschaften: aktiv oder inaktiv
MehrAuszug 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
MehrRü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