AWT. Einfache AWT-Anwendung. Swing. Vorlesung 1. Handout S. 2. import java. awt. * ;

Größe: px
Ab Seite anzeigen:

Download "AWT. Einfache AWT-Anwendung. Swing. Vorlesung 1. Handout S. 2. import java. awt. * ;"

Transkript

1 Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester / 56 Grafische Benutzeroberflächen Container Menüs JComponent JLabel/JTextField Buttons Events und Listener 2 / 56 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface, GUI). Ziele sind: einfache Bedienung mit der Maus einheitliches Look & Feel der Anwendungen Stichwort: Usability Typische Elemente von GUIs sind: Menüs Symbolleisten (tool bar) Schaltfächen Auswahlfelder (button, radio button, check box, pull-down menu) Texteingabefelder 3 / 56 Handout S. 1

2 AWT Bereits beim ersten Java-Release 1995 war ein Toolkit zum Erstellen grafischer Oberflächen enthalten: AWT Abstract Window Toolkit Features: heavyweight: AWT definiert eine Abstraktionsebene über den Betriebssystembibliotheken für Oberflächen. Auslagerung der Arbeit an das Betriebssystem Betriebssystem-typisches Look & Feel aber uneinheitliches Aussehen der selben Anwendung auf verschiedenen Plattformen Beschränkung auf kleinsten Nenner 4 / 56 Einfache AWT-Anwendung import java. awt. * ; p u b l i c c l a s s AwtApp { p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { Frame myframe = new Frame ( " E r s t e s Fenster " ) ; myframe. s e t S i z e (400, ) ; myframe. add ( new Label ( " Hallo " ) ) ; myframe. s e t V i s i b l e ( true ) ; 5 / 56 Swing Swing ist Teil der Java Foundation Classes, die ursprünglich von Netscape als Internet Foundation Classes entwickelt wurden und dann in Kooperation von Sun und Netscape in Java 1.2 integriert wurden. Wesentliche Eigenschaften: Lightweight, die Widget-Klassen sind in Java selbst implementiert und setzen nur auf wenig Ressourcen des unterliegenden Betriebssystems auf. Einheitliches Aussehen der Anwendungen auf verschiedenen Plattformen. Entspricht nicht unbedingt dem Look & Feel des Betriebssystems. Erweiterbares Komponentenmodell. 6 / 56 Handout S. 2

3 Einfache Swing-Anwendung import javax. swing. * ; p u b l i c c l a s s SwingApp extends JFrame { p u b l i c SwingApp ( S t r i n g t i t l e ) { super ( t i t l e ) ; s e t S i z e (400, ) ; add ( new JLabel ( " Hallo " ) ) ; s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; s e t V i s i b l e ( true ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { SwingApp myapp = new SwingApp ( " E r s t e s Fenster " ) ; 7 / 56 Grundsätzliche Entwicklungsschritte Der Entwurf einer grafischen Anwendung zerfällt in zwei Schritte: 1. Entwurf der grafischen Komponenten und deren Anordnung 2. Implementierung der Eventbehandlung (z. B. Eingabe von Text, Klicken auf Schaltflächen etc.) 8 / 56 Toplevel-Elemente Swing kennt insgesamt drei Toplevel-Elemente: JFrame ein Fenster mit Rahmen und Titel Selbst geschriebene Anwendungen mit grafischer Oberfläche befinden sich meist innerhalb eines JFrame. Daher erbt die Hauptklasse einer Anwendung oft von JFrame. JDialog für Meldungsfenster JApplet für Java-Applets, die innerhalb eines (Java-fähigen) Webbrowsers laufen. Innerhalb eines Toplevel-Fensters können beliebige Komponenten (ausser anderen Toplevel-Fenstern) angeordnet werden. 9 / 56 Handout S. 3

4 Das Hauptfenster Die Toplevel-Fenster (z. B. JFrame) bestehen aus einem Hauptfenster, dem so genannten Root Pane. Dieses besteht aus Layered Pane Hierin sind enthalten: Der eigentliche Inhalt des Fensters, das Content Pane. Die Menu Bar. Glass Pane eine Art Glasscheibe über dem gesamten Fenster. Dieser kann verwendet werden, um Effekte über dem Fenster erscheinen zu lassen. 10 / 56 Schemadarstellung: Das Hauptfenster 11 / 56 Der Content-Pane Der Content Pane ist der Container, der Swing-Componenten (Labels, Buttons,... ) aufnimmt. Vor Java 5 konnten einem Toplevel-Container die Komponenten daher nicht direkt hinzu gefügt werden, und typischer Code sah so aus: JFrame myframe = new JFrame ( ) ; Container contentpane = myframe. getcontentpane ( ) ; contentpane. add ( new JTextField ( ) ) ; Seit Java 5 kann nun direkt mit add gearbeitet werden. 12 / 56 Handout S. 4

5 JPanel Ein JPanel ist ein allgemeiner Container, der ebenfalls andere Swing-Componenten (Labels, Buttons,... ) aufnimmt. Dieser Container kann dazu verwendet werden, Komponenten zu gruppieren sowie eigene, zusammengesetzte Komponenten zu erstellen. Von der Benutzung her ist es dem JFrame ähnlich, nur dass ein Panel keinen Rahmen besitzt. 13 / 56 Menüs In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs: Menüleisten (am oberen Rand des Fensters) Symbolleisten Popup-Menüs, die mit der rechten Maustaste geöffnet werden. 14 / 56 Menü-Klassen in Java 15 / 56 Handout S. 5

6 Einträge in Menüs Jedes Menü kann folgende Einträge enthalten: Normale Einträge (Klasse JMenuItem) Ankreuzfelder (Klasse JCheckBoxMenuItem) Optionsfelder (Klasse JRadioButtonMenuItem) Untermenüs (Klasse JMenu), die wiederum o. a. Einträge und Trennlinien enthalten können. Für das Hinzufügen von Einträgen aller Art existiert die Methode add (...). Separator-Linien in Untermenüs werden mit addseparator() hinzu gefügt. 16 / 56 Einfaches Beispiel p u b l i c c l a s s MyApp extends JFrame { p u b l i c MyApp( ) { super ( "Meine Anwendung" ) ; s e t S i z e ( 3 0 0, ) ; s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; JMenuBar menubar = new JMenuBar ( ) ; JMenu menu ; JMenuItem item ; menu = new JMenu( " Datei " ) ; item = new JMenuItem ( " Öffnen " ) ; menu. add ( item ) ; item = new JMenuItem ( " S p e i c h e r n " ) ; menu. add ( item ) ; menubar. add (menu ) ; 17 / 56 Einfaches Beispiel (Forts.) menu = new JMenu( " H i l f e " ) ; item = new JMenuItem ( "Über d i e s e Anwendung" ) ; menu. add ( item ) ; menubar. add ( Box. c r e a t e H o r i z o n t a l G l u e ( ) ) ; menubar. add (menu ) ; setjmenubar ( menubar ) ; s e t V i s i b l e ( t r u e ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { MyApp app = new MyApp ( ) ; 18 / 56 Handout S. 6

7 Die Klasse JMenu Die Klasse JMenu dient zum Erstellen eines Untermenüs, in dem neue Einträge vorhanden sein können. Bei den meisten Anwendungen bestehn die Menü-Einträge im MenuBar selber aus solchen Untermenüs. Dem Untermenü werden neue Elemente mit der Methode add(jmenuitem) hinzu gefügt. Es ist im Gegenzug auch möglich, Elemente aus einen Untermenü zu entfernen: remove(jmenuitem) für ein Objekt vom Typ JMenuItem, remove(int) mit Angabe der Position (beginnend bei 0), removeall() zum Entfernen aller Elemente. 19 / 56 Beispiel menu = new JMenu( " Datei " ) ; item = new JMenuItem ( " Öffnen " ) ; menu. add ( item ) ; item = new JMenuItem ( " S p e i c h e r n " ) ; menu. add ( item ) ; JMenu submenu = new JMenu( " L e t z t e Dateien " ) ; submenu. add ( " Datei 1" ) ; submenu. add ( " Datei 2" ) ; menu. add ( submenu ) ; menubar. add (menu ) ; 20 / 56 Die Basisklass JComponent JComponent ist die Basisklasse aller Swing-Komponenten und unterstützt folgende Features: Tool Tips Rahmen Einstellungen zum Look & Feel Unterstützung von Layout-Managern Behandlung von Tastatur-Ereignissen Accessibility für Menschen mit Behinderungen 21 / 56 Handout S. 7

8 Tool Tips Tool Tips erscheinen, wenn die Maus länger auf einer Komponente verweilt, und sollen dem Nutzer eine Hilfe bieten. Tool Tips können einfach mit der Methode settooltiptext(string) definiert werden. Beispiel: JTextField eingabe = new JTextField ( ) ; eingabe. settooltiptext ( "Text eingeben " ) ; 22 / 56 Rahmen Um Komponenten können Rahmen gemalt werden. Die einfachsten und wichtigsten sind: LineBorder eine einfache Linie EtchedBorder eine Linie mit 3D-Effekt, entweder vertieft oder erhöht BevelBorder die gesamte Komponente erscheint vertieft oder erhöht EmptyBorder unsichtbarer Rahmen (für den aber Platz reserviert sein kann) 23 / 56 Beispiel JFrame frame = new JFrame ( ) ; frame. setlayout (new GridLayout ( 0, 1, 5, 5 ) ) ; JLabel l a b e l = new JLabel ( " Label 1" ) ; l a b e l. setborder ( BorderFactory. createlineborder ( Color. red ) ) ; frame. add ( l a b e l ) ; l a b e l = new JLabel ( " Label 2" ) ; l a b e l. setborder ( BorderFactory. createetchedborder ( EtchedBorder.RAISED ) ) ; frame. add ( l a b e l ) ; l a b e l = new JLabel ( " Label 3" ) ; l a b e l. setborder ( BorderFactory. createetchedborder ( EtchedBorder.LOWERED) ) ; frame. add ( l a b e l ) ; l a b e l = new JLabel ( " Label 4" ) ; l a b e l. setborder ( BorderFactory. createraisedbevelborder ( ) ) ; frame. add ( l a b e l ) ; l a b e l = new JLabel ( " Label 4" ) ; l a b e l. setborder ( BorderFactory. createloweredbevelborder ( ) ) ; frame. add ( l a b e l ) ; frame. pack ( ) ; frame. s e t V i s i b l e ( true ) ; 24 / 56 Handout S. 8

9 Look and Feel Zum Ändern des Look and Feel einer Anwendung kann man die Klasse UIManager verwenden: UIManager.setLookAndFeel(String) Gueltige Parameter sind UIManager.getCrossPlatformLookAndFeel() UIManager.getSystemLookAndFeel() 25 / 56 Unterstützung von Layout-Managern Um den Layout-Manager bei der Anzeige der Komponenten zu unterstützen, existieren folgende Methoden: setpreferredsize(dimension) zur Angabe der optimalen Grösse einer Komponente setmaximumsize(dimension) zur Angabe der maximalen Grösse setminimumsize(dimension) zur Angabe der minimalen Grösse Die Dimension kann hierbei durch new Dimension(x,y) angegeben werden. Achtung: Der Layout-Manager muss sich nicht an die Vorgaben halten! 26 / 56 JLabel Konstruktoren/Methoden von JLabel: JLabel(String), JLabel(Icon), JLabel(String, int),... void settext(string) Text setzen String gettext() Text lesen void setdisplayedmnemonic(char) Tastatur-Shortcut setzen void setlabelfor(component) Komponente, an die der Shortcut weiter geleitet wird void sethorizontalalignment(int) hor. Ausrichtung Statische int-attribute in SwingConstants: LEFT, CENTER, RIGHT, LEADING, TRAILING 27 / 56 Handout S. 9

10 JTextField Konstruktoren/Methoden von JTextField: JTextField(), JTextField(String), JTextField(int),... void seteditable(boolean) void addactionlistener (...) void removeactionlistener(...) String gettext() String getselectedtext() Feld beschreibbar? Listener setzen Listener entfernen Text lesen Markierten Text lesen 28 / 56 JButton, JCheckBox, JRadioButton In Swing existieren drei wesentliche Klassen für Schaltflächen: JButton für normale Schaltflächen, JCheckBox für Ankreuzfelder, JRadioButton für Optionsfelder (radio button) Diese Klassen erben von der Klasse AbstractButton. 29 / 56 Die Klasse AbstractButton Die Klasse AbstractButton bietet folgende wesentliche Methoden: void settext(string text) setzt den Text der Schaltfläche, void seticon(icon icon) setzt das Icon der Schaltfläche, void addactionlistener(...) registriert einen neuen ActionListener, void setactioncommand(string command) definiert einen Text, der einem ausgelösten ActionEvent mitgegeben wird. 30 / 56 Handout S. 10

11 getactioncommand/setactioncommand Wozu dient die Methode setactioncommand? In der Praxis ist ein ActionListener häufig bei mehreren Schaltflächen angemeldet, und in der Methode actionperformed soll je danach, welche Schaltfläche betätigt wurde, eine unterschiedliche Reaktion erfolgen. Diese Unterscheidung kann erfolgen: Nach dem Quellobjekt des Events (e.getsource()) oder nach dem Aktions-Text des Events (e.getactioncommand()) Dieser Text besteht entweder aus: dem Text der Schaltfläche oder dem durch setactioncommand(...) definierten Text der Schaltfläche. 31 / 56 Beispiel p u b l i c c l a s s MyApp extends JFrame implements A c t i o n L i s t e n e r { p u b l i c MyApp( ) throws HeadlessException { super ( "Meine Anwendung" ) ; t h i s. setlayout ( new GridLayout ( 0, 1 ) ) ; t h i s. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; JButton b = new JButton ( "OK" ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; b. setactioncommand ( "OK1" ) ; b = new JButton ( "OK" ) ; b. setactioncommand ( "OK2" ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; b = new JButton ( "OK" ) ; b. setactioncommand ( "OK3" ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; 32 / 56 Beispiel (Forts.) t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( t r u e ) ; p u b l i c void actionperformed ( ActionEvent e ) { System. out. p r i n t l n ( e. getactioncommand ( ) ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { MyApp app = new MyApp ( ) ; 33 / 56 Handout S. 11

12 Die Klasse JCheckBox JCheckBox dient der Darstellung von Kontrollfeldern zum Ankreuzen. Diese können selektiert oder deselektiert sein. Für die Änderung bzw. Abfrage des Status der Selektion existieren die Methoden boolean getselected() true, falls das Feld selektiert ist, sonst false void setselected(boolean b) selektiert das Feld (true) bzw. deselektiert (false) es. Beim Selektieren oder Deselektieren des Kontrollfeldes wird ein ItemEvent ausgelöst, das bei einem mit additemlistener hinzugefuegten ItemListener der Methode itemstatechanged übergeben wird. 34 / 56 Beispiel p u b l i c c l a s s MyApp extends JFrame implements I t e m L i s t e n e r { p u b l i c MyApp( ) throws HeadlessException { super ( "Meine Anwendung" ) ; t h i s. setlayout ( new GridLayout ( 0, 1 ) ) ; t h i s. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; JCheckBox b = new JCheckBox ( " e i n s " ) ; b. a d d I t e m L i s t e n e r ( t h i s ) ; b = new JCheckBox ( " zwei " ) ; b. a d d I t e m L i s t e n e r ( t h i s ) ; b = new JCheckBox ( " d r e i " ) ; b. a d d I t e m L i s t e n e r ( t h i s ) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( t r u e ) ; 35 / 56 Beispiel (Forts.) p u b l i c void itemstatechanged ( ItemEvent e ) { JCheckBox b = ( JCheckBox ) e. g e t S o u r c e ( ) ; S t r i n g v a l = e. getstatechange()==itemevent.selected? " s e l e k t i e r t " : " d e s e l e k t i e r t " ; System. out. p r i n t l n ( b. getactioncommand()+" : "+v a l ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { MyApp app = new MyApp ( ) ; 36 / 56 Handout S. 12

13 Die Klasse JRadioButton Bei Optionsfeldern, so genannten Radio-Buttons, kann aus einer Gruppe von Feldern immer nur eines selektiert sein. Hierzu dient die Klasse JRadioButton. Sich gegenseitig ausschliessende Radio-Buttons werden hierbei einer ButtonGroup zugeordnet, die dafür sorgt, dass bei Auswahl eines Feldes alle anderen deselektiert werden. ButtonGroup g = new ButtonGroup ( ) ; JRadioButton b = new RadioButton ( " e i n s " ) ; g. add ( b ) ; Die Zuordnung zu einer ButtonGroup hat keinen Einfluss auf die grafische Anordnung der Felder. 37 / 56 Beispiel p u b l i c c l a s s MyApp extends JFrame implements A c t i o n L i s t e n e r { p u b l i c MyApp( ) { super ( "Meine Anwendung" ) ; t h i s. setlayout ( new GridLayout ( 0, 1 ) ) ; t h i s. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; ButtonGroup buttons = new ButtonGroup ( ) ; JRadioButton b = new JRadioButton ( " e i n s " ) ; buttons. add ( b ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; b = new JRadioButton ( " zwei " ) ; buttons. add ( b ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; b = new JRadioButton ( " d r e i " ) ; buttons. add ( b ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; 38 / 56 Beispiel (Forts.) t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( t r u e ) ; p u b l i c void actionperformed ( ActionEvent e ) { System. out. p r i n t l n ( "Auswahl : "+e. getactioncommand ( ) ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { MyApp app = new MyApp ( ) ; 39 / 56 Handout S. 13

14 Events und Listener in Java Wann immer in grafischen Anwendung in Java etwas passiert, sind daran zwei Dinge beteiligt: Events Diese beschreiben: Art des Events Quelle spezifische Informationen (z. B. Maus-Koordinaten, gedrückte Shift- oder Alt-Taste) Listener die auf Aktionen lauschen und diese Events geeignet auswerten. 40 / 56 Events Die in AWT und Swing auftretenden Events erben direkt oder indirekt von der Klasse AWTEvent. Konstruktor und Methoden: AWTEvent(Object source, int id) wobei source die Quelle des Events (dies kann z. B. eine Instanz von JButton oder JTextField sein) und id den Typ des Events kennzeichnet. Object getsource() gibt die Quelle des Events zurück. int getid() gibt den Event-Typ zurück. 41 / 56 Die Klasse ActionEvent Direkte Aktionen, die mit einer Komponente verknüpft sind, können i. A. am Einfachsten über ActionEvents abgehandelt werden, die als Parameter der Methode actionperformed eines ActionListeners auftauchen. Solche Aktionen können auf verschiedenen Wegen auftreten (Selektion eines Listenelements, Klicken auf einen Button, Eingabe von Enter in einem Textfeld), allerdings stecken im ActionEvent nur relativ wenig Informationen: die Quelle des Events (getsource() geerbt von AWTEvent) und evtl. bei der Auswahl gehaltene Shift-, CTRL- oder ALT-Tasten 42 / 56 Handout S. 14

15 Beispiel: Testen auf Shift- und ALT-Taste p u b l i c c l a s s MyApp extends JFrame implements A c t i o n L i s t e n e r { p u b l i c MyApp( ) throws HeadlessException { super ( "Meine Anwendung" ) ; t h i s. setlayout ( new GridLayout ( 0, 1 ) ) ; t h i s. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; JButton b = new JButton ( "OK" ) ; b. a d d A c t i o n L i s t e n e r ( t h i s ) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( t r u e ) ; 43 / 56 Beispiel (Forts.) p u b l i c void actionperformed ( ActionEvent e ) { System. out. p r i n t l n ( " Button gedrückt " ) ; i f ( ( e. g e t M o d i f i e r s ( ) & ActionEvent.SHIFT_MASK)!= 0) { System. out. p r i n t l n ( " mit S h i f t " ) ; i f ( ( e. g e t M o d i f i e r s ( ) & ActionEvent.ALT_MASK)!= 0) { System. out. p r i n t l n ( " mit ALT" ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { MyApp app = new MyApp ( ) ; 44 / 56 Weitere Events Für komplexere Auswertungen von Events reicht ActionEvent nicht aus. Hier benötigt man speziellere Events, die auch mit speziellen Listener-Versionen behandelt werden. Dies sind z. B. MouseEvent Klick-Event der Maus, hierbei können Maustaste, Art der Aktion (Doppelklick) und Pixelposition der Aktion ausgewertet werden, wird den Methoden von MouseListener und MouseMotionListener als Parameter übergeben, KeyEvent erlaubt die Auswertung der gedrückten Taste und evtl. Modifizierer, wird den Methoden von KeyListener übergeben, WindowEvent für Aktionen mit dem Fenster (verkleinern, vergrössern, schliessen), wird den Methoden von WindowListener übergeben. 45 / 56 Handout S. 15

16 Beispiel In einer Anwendung soll ein Element aus einer Liste bei folgenden Ereignissen in ein Label übernommen werden: Klick auf eine Schaltfläche Übernehmen, Doppelklick auf das Listenelement, Eingabe von Enter in der Liste Nur das erste Ereignis kann über ActionListener implementiert werden, da bei den beiden anderen die Maus- bzw. Tastenaktion speziell ausgewertet werden muss. 46 / 56 Implementierung p u b l i c c l a s s MyApp extends JFrame implements A c t i o n L i s t e n e r, MouseListener, KeyListener { p r i v a t e JLabel output ; p r i v a t e J L i s t l i s t ; p r i v a t e JButton button ; p u b l i c MyApp( ) { super ( "Meine Anwendung" ) ; t h i s. setlayout ( new GridLayout ( 0, 1 ) ) ; t h i s. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; S t r i n g [ ] items = {" Eins ", " Zwei ", " Drei ", " Vier " ; l i s t = new J L i s t ( items ) ; l i s t. addmouselistener ( t h i s ) ; l i s t. addkeylistener ( t h i s ) ; add ( l i s t ) ; output = new JLabel ( " Keine Auswahl" ) ; add ( output ) ; 47 / 56 Implementierung (Forts.) button = new JButton ( "Übernehmen" ) ; button. a d d A c t i o n L i s t e n e r ( t h i s ) ; add ( button ) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( t r u e ) ; p u b l i c void actionperformed ( ActionEvent e ) { output. settext ( ( S t r i n g ) l i s t. g e t S e l e c t e d V a l u e ( ) ) ; p u b l i c void mouseclicked ( MouseEvent e ) { i f ( e. getclickcount ()==2) { actionperformed ( new ActionEvent ( e. g e t S o u r c e ( ), ActionEvent.ACTION_PERFORMED, n u l l ) ) ; 48 / 56 Handout S. 16

17 Implementierung (Forts.) p u b l i c void keytyped ( KeyEvent e ) { i f ( e. getkeychar()==keyevent.vk_enter) { actionperformed ( new ActionEvent ( e. g e t S o u r c e ( ), ActionEvent.ACTION_PERFORMED, n u l l ) ) ; p u b l i c void mouseentered ( MouseEvent arg0 ) { p u b l i c void keypressed ( KeyEvent arg0 ) { p u b l i c void keyreleased ( KeyEvent arg0 ) { p u b l i c void mouseexited ( MouseEvent arg0 ) { p u b l i c void mousepressed ( MouseEvent arg0 ) { 49 / 56 Implementierung (Forts.) p u b l i c void mousereleased ( MouseEvent arg0 ) { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { MyApp app = new MyApp ( ) ; 50 / 56 Adapterklassen für Events An dem vorigen Beispiel mit der Behandlung eines Tastaturund eines Maus-Ereignisses wird ein Problem bei der Implementierung von speziellen Listener-Varianten deutlich: Es müssen viele Methoden implementiert werden, auch wenn nur für wenige Aktionen tatsächlich eine Implementation erfolgen soll. Dies wird schnell unübersichtlich! Aus diesem Grund existieren für komplexe Events Adapterklassen, die das entsprechende Listener-Interface (mit leeren Methoden) implementieren: MouseListener MouseAdapter, MouseMotionListener MouseMotionAdapter, KeyListener KeyAdapter, WindowListener WindowAdapter 51 / 56 Handout S. 17

18 Neue Version des Beispiels mit Inneren Klassen Nun soll das Beispiel neu implementiert werden, indem für das Maus- bzw. Tastatur-Ereignis neue Klassen entwickelt werden, die von den entsprechenden Adaptern erben. Da diese Klassen nur innerhalb der Anwendungsklasse selber benötigt werden, ist es hier möglich, sich den Aufwand normaler Klassen in eigenen Quelltext-Dateien zu ersparen. Stattdessen können diese Klassen innerhalb der Anwendungklasse definiert werden, die dann nur innerhalb dieser Anwendungsklasse bekannt sind. Hierdurch bleibt die Struktur des Java-Projektes übersichtlicher. Solche Klassendefinitionen innerhalb anderer Klassen nennt man Innere Klassen. 52 / 56 Implementierung p u b l i c c l a s s MyApp extends JFrame implements A c t i o n L i s t e n e r { p r i v a t e JLabel output ; p r i v a t e J L i s t l i s t ; p r i v a t e JButton button ; p u b l i c MyApp( ) { super ( "Meine Anwendung" ) ; t h i s. setlayout ( new GridLayout ( 0, 1 ) ) ; t h i s. s e t D e f a u l t C l o s e O p e r a t i o n ( JFrame.EXIT_ON_CLOSE) ; S t r i n g [ ] items = {" Eins ", " Zwei ", " Drei ", " Vier " ; l i s t = new J L i s t ( items ) ; l i s t. addmouselistener ( new MyMouseAdapter ( ) ) ; l i s t. addkeylistener ( new MyKeyAdapter ( ) ) ; add ( l i s t ) ; 53 / 56 Implementierung (Forts.) output = new JLabel ( " Keine Auswahl" ) ; add ( output ) ; button = new JButton ( "Übernehmen" ) ; button. a d d A c t i o n L i s t e n e r ( t h i s ) ; add ( button ) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( t r u e ) ; p u b l i c void actionperformed ( ActionEvent e ) { output. settext ( ( S t r i n g ) l i s t. g e t S e l e c t e d V a l u e ( ) ) ; 54 / 56 Handout S. 18

19 Implementierung (Forts.) c l a s s MyMouseAdapter extends MouseAdapter { p u b l i c void mouseclicked ( MouseEvent e ) { i f ( e. getclickcount ()==2) { actionperformed ( new ActionEvent ( e. g e t S o u r c e ( ), ActionEvent.ACTION_PERFORMED, "" ) ) ; 55 / 56 Implementierung (Forts.) c l a s s MyKeyAdapter extends KeyAdapter { p u b l i c MyKeyAdapter ( ) { p u b l i c void keytyped ( KeyEvent e ) { i f ( e. getkeychar()==keyevent.vk_enter) { actionperformed ( new ActionEvent ( e. g e t S o u r c e ( ), ActionEvent.ACTION_PERFORMED, "" ) ) ; 56 / 56 Handout S. 19

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

Grafische Benutzeroberflächen Container Menüs JComponent JLabel/JTextField Buttons Events und Listener. Programmieren I.

Grafische Benutzeroberflächen Container Menüs JComponent JLabel/JTextField Buttons Events und Listener. Programmieren I. Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 Grafische Benutzeroberflächen 2 Container 3 Menüs 4 JComponent 5 JLabel/JTextField 6 Buttons 7 Events und Listener Einführung:

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

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

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

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

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

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

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

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

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

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

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

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

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

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

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

Mehr

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

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

Mehr

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

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

Swing Grundlagen. Andre Eichmann

Swing Grundlagen. Andre Eichmann Swing Grundlagen Andre Eichmann Inhaltsverzeichnis Swing: Grundlagen - Einleitung - Ein einleitendes Beispiel Swing: Container und Menüs - Hauptfenster - Menüs Swing: Grundlagen Nachteile von AWT: - Schwierig,

Mehr

Mediator 9 - Lernprogramm

Mediator 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

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Beispiel: Eine Choice-Liste...

Beispiel: Eine Choice-Liste... Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )

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

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

Kapitel 8: Grafische Benutzerschnittstellen

Kapitel 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

Mehr

Einführung in die Programmierung

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

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

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

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

Anleitung zum GUI Version 2.x

Anleitung zum GUI Version 2.x GUI (Graphical User Interface) für PC-DMIS V3.x 4.x Seite 1 von 7 Anleitung zum GUI Version 2.x Einsatzziel des Programms: Über ein grafisches Menü PC-DMIS Messprogramme starten. Empfehlenswert für Anwender

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

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

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)

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

Mehr

Einbindung der Tastatur

Einbindung der Tastatur Einbindung der Tastatur Auch die Tastatur kann man wie die Maus zur interaktiven Programmsteuerung verwenden. Bei der Maus ist stets klar, welche grafische Komponente bei einem Klick oder einer Bewegung

Mehr

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen

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

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

Was passiert, wenn Button "Ok?" mit Maus angeklickt?

Was passiert, wenn Button Ok? mit Maus angeklickt? Ein Beispiel-Frame Was passiert, wenn Button "Ok?" mit Maus angeklickt? gar nichts!!! FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender Ereignisverarbeitung 27. April 2016 1 Implementierung

Mehr

Massenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Massenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Massenversand Massenversand Seite 1 Massenversand Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. STAMMDATEN FÜR DEN MASSENVERSAND 4 2.1 ALLGEMEINE STAMMDATEN 4 2.2

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

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

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

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

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

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Toolbar 1. JToolBar 2. Menü 1. JMenuBar 2. JMenu 3. JMenuItem 4. KeyStroke 5. Beispiel JMenuDemo1 6. JCheckBoxMenuItem 7. JRadioButtonMenuItem 8. Beispiel JMenuDemo2 9. JPopupMenu 10. Beispiel

Mehr

2A Basistechniken: Weitere Aufgaben

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

Mehr

Java Lab 2006/12/13 Client

Java 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

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

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

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

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

Microsoft Visual Studio Community 2015

Microsoft Visual Studio Community 2015 Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne

Mehr

Ihr Ideen- & Projektmanagement-Tool

Ihr Ideen- & Projektmanagement-Tool Planungsbox 2.9 Ihr Ideen- & Projektmanagement-Tool Planungsbox verknüpft Notizen, Termine, Dateien, email- & Internetadressen, ToDo-Listen und Auswertungen Planungsbox verwaltet ToDo-Listen, Termine und

Mehr

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog. Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung

Mehr

Erstellen einer GoTalk-Auflage

Erstellen einer GoTalk-Auflage Erstellen einer GoTalk-Auflage 1. Bei dem Startbild Vorlage öffnen wählen 2. In dem folgenden Fenster Geräte Schablonen doppelt anklicken. - und schon öffnet sich der gesamte Katalog der verfügbaren Talker-Auflagen...eigentlich

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access

Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access Diese Übersicht stellt die Zusammenführung der APV Tabellen Stammdaten und Verlaufdaten mithilfe der Datenbank

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Ü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 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

Comic Life 2.x. Fortbildung zum Mediencurriculum

Comic 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

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

Erstellen eines Wordpress-Blogs

Erstellen eines Wordpress-Blogs Erstellen eines Wordpress-Blogs Inhalt 1 Einen Wordpress-Blog erstellen... 3 2 Wordpress konfigurieren... 5 2.1 Wordpress-Anmeldung... 5 2.2 Sprache einstellen... 7 2.3 Einen neuen Artikel verfassen...

Mehr

Eventhandling. Delegation model Eventhandler model

Eventhandling. Delegation model Eventhandler model Eventhandling Dient der Kommunikation der Controlls mit der eigentlichen Anwendung. Prinzipiell gibt es zwei verschiedene Verfahren für das Eventhandling Delegation model Eventhandler model Die Arbeit

Mehr

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

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

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Pfötchenhoffung e.v. Tier Manager

Pfötchenhoffung e.v. Tier Manager Pfötchenhoffung e.v. Tier Manager A.Ennenbach 01.08.2015 Tier Manager Inhalt Administrationsbereich Tiere auflisten & suchen Tier hinzufügen Tier bearbeiten (Status ändern, etc.) Administrationsbereich

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Programmieren II. Menü-Klassen in Java. Menüs. Menüs. Action. Dr. Klaus Höppner. GridBagLayout. Hochschule Darmstadt SS 2008

Programmieren II. Menü-Klassen in Java. Menüs. Menüs. Action. Dr. Klaus Höppner. GridBagLayout. Hochschule Darmstadt SS 2008 Programmieren II Menüs Dr. Klaus Höppner Action Hochschule Darmstadt SS 2008 GridBagLayout 1 / 30 2 / 30 Menüs Menü-Klassen in Java In Fenstern von grafischen Anwendungen kennt man folgende Arten von Menüs:

Mehr

Umleiten von Eigenen Dateien per GPO

Umleiten von Eigenen Dateien per GPO Umleiten von Eigenen Dateien per GPO Vom Prinzip her ist das Umleiten der Eigenen Dateien über eine Gruppenrichtlinie schnell erledigt. Es gibt jedoch einige kleine Dinge, die zu beachten sind, um etwa

Mehr

Inventarverwaltung mit Access 2007/10

Inventarverwaltung mit Access 2007/10 Inventarverwaltung mit Access 2007/10 Version 1.0 kostenlose Vollversion Autor: sbduss Beat Duss Schweiz http://www.sbduss.com letzte Änderung 21.06.2015 Inhaltsverzeichnis Installation... 3 Hauptfenster...

Mehr

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor:

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor: Personendaten verwalten mit Magnolia Sie können ganz einfach und schnell alle Personendaten, die Sie auf Ihrer Webseite publizieren möchten, mit Magnolia verwalten. In der Applikation Adressbuch können

Mehr

Einführung in GUI-Programmierung. javax.swing

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

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

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet Zum Start der Anwendung, nach dem Einstecken des midentity Geräts, gibt es mehrere Möglichkeiten. Sofern Sie das midentity Gerät unter

Mehr

Windows 7 Ordner und Dateien in die Taskleiste einfügen

Windows 7 Ordner und Dateien in die Taskleiste einfügen WI.005, Version 1.1 07.04.2015 Kurzanleitung Windows 7 Ordner und Dateien in die Taskleiste einfügen Möchten Sie Ordner oder Dateien direkt in die Taskleiste ablegen, so ist das nur mit einem Umweg möglich,

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen. Ordner erstellen, Bilder ordnen Um neue Ordner zu erstellen und Bilddateien zu ordnen, bietet es sich an, sich zunächst die Hierarchie der bereits vorhandenen Ordner anzuschauen. Mit einem Klick auf Ordner

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF 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

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Folgender Artikel soll veröffentlicht und mit dem Editor TinyMCE gestaltet werden: Eine große Überschrift Ein Foto Hier kommt viel Text. Hier kommt

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

podcast TUTORIAL Zugriff auf das Bildarchiv der Bergischen Universität Wuppertal über den BSCW-Server

podcast TUTORIAL Zugriff auf das Bildarchiv der Bergischen Universität Wuppertal über den BSCW-Server Das folgende Tutorial erläutert die grundlegenden Schritte für den Zugriff auf das Bildarchiv der Bergischen Universität Wuppertal. Als Nutzer für das Bildarchiv freischalten lassen Der Zugriff auf das

Mehr

1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3

1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3 Inhaltsverzeichnis 1. Allgemein 2 2. Speichern und Zwischenspeichern des Designs 2 3. Auswahl der zu bearbeitenden Seite 2 4. Text ergänzen 3 5. Textgrösse ändern 3 6. Schriftart ändern 3 7. Textfarbe

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

TIF2ELO Maskeneditor Handbuch

TIF2ELO Maskeneditor Handbuch TIF2ELO Maskeneditor Handbuch Bitte starten Sie erst Ihren ELOprofessional Client. Wie sie dort eine entsprechende Ablagemaske definieren, entnehmen Sie bitte dem dazugehörigen Handbuch. Legen Sie nun

Mehr

Anleitung für Autoren auf sv-bofsheim.de

Anleitung für Autoren auf sv-bofsheim.de Anleitung für Autoren auf sv-bofsheim.de http://www.sv-bofsheim.de 1 Registrieren als Benutzer sv-bofsheim.de basiert auf der Software Wordpress, die mit einer Erweiterung für ein Forum ausgestattet wurde.

Mehr

ANWENDUNGSHINWEISE ZU SYMBOLSTIX

ANWENDUNGSHINWEISE ZU SYMBOLSTIX elektronische hilfsmittel für menschen mit einer behinderung www.activecommunication.ch ANWENDUNGSHINWEISE ZU SYMBOLSTIX www.symbolstix.ch active communication gmbh sumpfstrasse 28 6300 zug telefon 041

Mehr

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Benachrichtigungen verwalten. Mike McBride Deutsche Übersetzung: Frank Schütte

Benachrichtigungen verwalten. Mike McBride Deutsche Übersetzung: Frank Schütte Mike McBride Deutsche Übersetzung: Frank Schütte 2 Inhaltsverzeichnis 1 Benachrichtigungen verwalten 4 1.1 Anwendungen........................................ 4 1.1.1 Das Ändern einer Nachricht............................

Mehr

Betriebssysteme Arbeiten mit dem Windows Explorer

Betriebssysteme Arbeiten mit dem Windows Explorer Frage: Betriebssysteme Arbeiten mit dem Windows Explorer Was ist der Windows Explorer und welche Funktionen bietet er? Antwort: Der Windows Explorer ist das primäre Windows-eigene Programm zum Kopieren,

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