Java: Swing Komponenten I. Maike Brandt



Ähnliche Dokumente
Swing :Komponenten I (Teil 2)

Swing Lernen am Code Teil 1

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

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Schieberegler und analoge Anzeigen

Mensch-Maschine-Interaktion

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Objektorientierte Softwareentwicklung

WPF Steuerelemente Listbox, ComboBox, ListView,

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

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

Java Einführung Collections

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

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

Bauteilattribute als Sachdaten anzeigen

Grundlagen der Programmierung APPLETS

Erstellen eines Formulars

Web2Lead. Konfiguration

1. Allgemeines. Mit der Vertragsverwaltung können u.a.

Microsoft Access 2013 Navigationsformular (Musterlösung)

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Java: Vererbung. Teil 3: super()

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Objektorientierte Programmierung

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Institut für Programmierung und Reaktive Systeme 26. April Programmieren II. 10. Übungsblatt

Schriftgut- und Informationsverwaltung. Anleitung BürgerTOP

IAWWeb PDFManager. - Kurzanleitung -

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

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Windows Presentation Foundation

...erinnern Sie sich? oopjs4b / kwhbkd4r

Übersichtlichkeit im Dokumentenmanagement

SMS4OL Administrationshandbuch

Software Engineering Klassendiagramme Assoziationen

Kostenstellen verwalten. Tipps & Tricks

Einstieg in die Informatik mit Java

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

Graphische Benutzungsoberflächen

Objektorientierte Programmierung

Hin zum perfekten Preis

Änderung des Portals zur MesseCard-Abrechnung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

ERSTE SCHRITTE.

BSV Ludwigsburg Erstellung einer neuen Internetseite

Schulungsunterlagen zur Version 3.3

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Ihr CMS für die eigene Facebook Page - 1

Stand: Adressnummern ändern Modulbeschreibung

Kurzanweisung für Google Analytics

Bedienungsanleitung für den Online-Shop

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

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

Anleitung zur Erstellung und Bearbeitung von Seiten in Typo3. Typo3. Anleitung. Wenpas Informatik

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

Willkommen bei KONTAKTMANAGEMENT INTERAKTIVE-TOUR

Einführung in die Programmierung

Geben Sie in dem offenen Suchfeld den Namen Ihrer Einrichtung ein und klicken Sie auf Suchen.

Online-Anzeigenbestellung

Bedienungsanleitung. E-Learning Software VedA

Aktuelles, Mitteilungen und Veranstaltungen verwalten

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Microsoft Access 2010 Navigationsformular (Musterlösung)

Programmierkurs Java

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Professionelle Seminare im Bereich MS-Office

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

Applets I. Grundlagen der g Applet-Programmierung

Hilfe zur Verwendung digitaler Formulare

Anwendungsbeispiele Buchhaltung

Programmieren in Java

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Kurzeinführung Excel2App. Version 1.0.0

Design Patterns 2. Model-View-Controller in der Praxis

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

1 FORMULARE. 1.1 Felder im Formular

tentoinfinity Apps 1.0 EINFÜHRUNG

Umstellung des Vergütungsverfahrens externer Gutachter beim Versorgungsamt Hamburg

Anzeige von eingescannten Rechnungen

Text Formatierung in Excel

LISP. Eine Einführung

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

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

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Outlook Erstellen einer aus einer HTML - Vorlage INHALT

In diesem Kurs lernen Sie, wie in EXCEL Diagramme erzeugt werden und was Sie dabei beachten sollten.

U08 Entwurfsmuster (II)

Benutzerhandbuch MedHQ-App

Erstellen von x-y-diagrammen in OpenOffice.calc

Da ist meine Anleitung drin!

Funktion «Formulare» in educanet²

Der große VideoClip- Wettbewerb von Media Markt.

Transkript:

Java: Swing Komponenten I Maike Brandt

Übersicht Label und Textfelder Buttons JLabel Jtextfelder JPasswordField JTextArea JSpinner JButton JCheckBox Listen und Comboboxen JList JComboBox Quasi-analoge Komponenten JScrollBar JSlider JProgressBar 10.06.2008 2

Label und Textfelder: JLabel Ein JLabel besitzt einen Text und ein Icon Beide Elemente sind Optional und können in Beliebiger Reihenfolge angeordnet werden Ein JLabel reagiert nicht auf Benutzereingaben Wichtigsten Konstruktoren: public JLabel( String text ) public JLabel( Icon image ) public JLabel( String text, Icon icon, int horizontalalignment ) horizontalalignment gibt die horizontale Platzierung des JLabels an, LEFT, RIGHT oder CENTER aus dem Interface SwingConstants 10.06.2008 3

Methoden zur Beeinflussung der Anordnung: public void sethorizontaltextposition( int textposition ) public int gethorizontaltextposition( ) public void sethorizontalalignment( int alignment ) public int gethorizontalalignment ( ) public void setverticalalignment( int alignment ) public int getverticalalignment ( ) Das Interface SwingConstants stellt für diese Methoden zusätzlich die Konstanten TOP, CENTER und BOTTOM zur Verfügung 10.06.2008 4

Label und Textfelder: JTextfelder Swing-Pedant zur AWT-Klasse TextField Einzeiliges Textfeld zur Eingabe von Daten Großteil der Fähigkeiten sind in der Basisklasse JTextComponent enthalten Wichtigsten Konstruktoren: public JTextField( int columns ) public JTextField( String text ) public JTextField( String text, int columns ) Wichtigste registrierte Listener: public void addactionlistener( ActionListener l ) public void addcaretlistener( CaretListener listener ) 10.06.2008 5

Ähnliche Methoden zu TextField: public String gettext( ) public void settext( String t ) public String gettext( int offs, int len ) public String getselecttext( ) public int getselectionstart( ) public int getselectionend( ) public void setselectionstart( int selectionstart ) public void setselectionend( int selectionend ) public int getcaretposition( ) public void setcaretposition( int pos ) public void movecaretposition( int pos ) 10.06.2008 6

Label und Textfelder: JPasswordField JPasswordField ist eine Spezialisierung von JTextField Statt dem Eingegebener Text wird für jeden Buchstaben ein Sternchen ausgegeben Zwischenablagefunktionen Kopieren und Ausschneiden deaktiviert Methode: public void setechochar( char c ) 10.06.2008 7

Label und Textfelder: JTextArea Zur Anzeige und Eingabe mehrzelliger Texte Wie AWT-Klasse TextArea um unformatierte Texte zu bearbeiten Wichtigsten Konstruktoren: public JTextArea( String text ) public JTextArea( int rows, int columns ) public JTextArea( String text, int rows, int columns ) Zusätzlich zu dem bekannten TextArea kann bei JTextArea die Zeilenanzahl mit angegeben werden. 10.06.2008 8

Methoden für den zeilenweisen Zugriff: public int getlinecount( ) public int getlinestartoffset( int line ) public int getlineendoffset( int line ) public int getlineofoffset( int offset ) Methoden zur Beeinflussung der Formatierung: public void settablesize( int size ) public int gettablesize( ) public void setlinewrap( boolean wrap ) public boolean getlinewrap( ) public void setwrapstyleword( boolean word ) public boolean getwrapstyleword( ) 10.06.2008 9

Label und Textfelder: JSpinner Vordefinierte, geordnete Liste von Werten Mischung aus Textfeldern und Listen oder Comboboxen Wertebereich muss nicht endlich sein Konstruktoren: public JSpinner( ) public JSpinner( SpinnerModel model ) 10.06.2008 10

Buttons: JButton Instanzen der Klasse JButton JButton abgeleitet von AbstractButton Wahlweise mit Beschriftung, mit Icon oder beidem Wichtigsten Konstruktoren: public JButton( String text ) public JButton( Icon image ) public JButton( String text, Icon icon ) Methoden zur Beeinflussung der Anordnung gleich denen der JLabel und JTextfelder 10.06.2008 11

Methoden zur Beeinflussung der Anordnung: public void sethorizontaltextposition( int textposition ) public int gethorizontaltextposition( ) public void sethorizontalalignment( int alignment ) public int gethorizontalalignment ( ) public void setverticalalignment( int alignment ) public int getverticalalignment ( ) Zusätzliche Methoden: public void setmnemonic( char mnemonic ) public void setmnemonic( int mnemonic ) public int getmnemonic( ) public void setenabled( boolean b ) public boolean isenabled( ) 10.06.2008 12

Buttons: JCheckBox Button der Wahlweise an- oder ausgeschaltet werden kann Wird verwendet um boolschen Wert auf einer GUI-Oberfläche darzustellen JCheckBox ist von der Klasse JToggleButton abgeleitet Wahlweise mit Beschriftung, mit Icon oder beidem Wichtigsten Konstruktoren: public JCheckBox( String text ) public JCheckBox(String text, boolean selected) Zusätzliche Methoden: public void setselected( boolean b ) public void isselected( ) 10.06.2008 13

Buttons: JRadioButton Ähnlich der Klasse JCheckBox Mehrere RadioButtons können zu einer Gruppe zusammengefasst werden Aus einer Gruppe kann nur ein RadioButton akktiv sein Wahlweise mit Bechriftung, mit Icon oder beidem Methoden wie bei JCheckBox Wichtigsten Konstruktoren: public JRadioButton( String text ) public JRadioButton( String text, boolean selected ) 10.06.2008 14

Um die Buttons zu gruppieren ist eine ButtonGroup zu instanzieren. Durch Aufruf von add sind die Buttons dieser hinzuzufügen. Methoden: public void add( AbstractButton b ) public ButtonModel getselection( ) public Enumeration getelements( ) 10.06.2008 15

Listen und Comboboxen : JList Einen oder mehrere Einträge können ausgewählt werden Anders als bei AWT können nicht nur Strings sondern auch Objekte enthalten sein Darstellung kann frei gestaltet werden Konstruktoren: public JList( ) public JList( Object [ ] listdata ) public JList( Vector listdata ) public JList( ListModel datamodel ) 10.06.2008 16

Methoden zum Selektieren: public int getselectionmode( ) public void setselectionmode( int selectionmode ) public int getselectionindex( ) public int [ ] getselectionindices( ) public Object getselectionvalue( ) public Object [ ] getselectionvalues( ) public boolean isselectionindex( int index) public boolean isselectionempty( ) public int getanchorselectionindex( ) public int getleadselectionindex( ) 10.06.2008 17

Methoden um Selektionen programmgesteuert zu verändern: public void clearselection( ) public void setselectedindex( int index ) public void setselectedindices( int [ ] indices ) public void setselectioninterval( int anchor, int lead ) public void addselectioninterval( int anchor, int lead ) public void removeselectioninterval( int index0, int index1 ) Methoden von DefaultListModel: public void clear( ) public void addelement( Object obj ) public void removeelementat( int index ) public int size( ) public Object elementat( int index ) 10.06.2008 18

Listen und Comboboxen : JComboBox JComboBox ist das Swing-Pendant zur AWT-Klasse Choice Kombination aus Textfeldern und Listen Die Liste erlaubt nur einfache Selektionen Es besteht die Möglichkeit das Textfeld zu editieren Wichtigsten Konstruktoren: public JComboBox( Object [ ] items ) public JComboBox( Vector items ) public JComboBox( ComboBoxModel amodel ) 10.06.2008 19

Methoden für die Eigenschaften: public void seteditable( boolean aflag ) public boolean iseditable( ) Methoden zum selektieren der Elemente: public Object getselecteditem( ) public void setselecteditem( Object anobject ) public int getselectedindex( ) public void setselectedindex( int anindex ) Methoden zum dynamischem verändern der Elemente: public void additem( Object anobject ) public void insertitemat( Object anobject, int index ) public void removeitem( Object anobject ) public void removeitemat( int anindex ) public void removeallitems( ) 10.06.2008 20

Quasi-analoge Komponenten : JScrollBar JSrollBar ist die Swing-Variante der AWT-Klasse Scrollbar Wichtigster Konstruktor: public JScrollBar(int orientation, int value, int extent, int min, int max) Methoden zum Zugriff auf numerische Eigenschaften: public int getminimum( ) public void setminimum( int minimum ) public int getmaximum( ) public void setmaximum( int maximum ) 10.06.2008 21

Weitere Methoden zum Zugriff auf numerische Eigenschaften: public int getvisibleamount( ) public void setvisibleamount( int extent ) public int getvalue( ) public void setvalue( int value ) Methoden für den Zugriff auf die Seitengröße : public int getunitincrement( ) public void getunitincrement( int unitincrement ) public int getblockincrement( ) public void setblockincrement( int blockincrement ) 10.06.2008 22

Quasi-analoge Komponenten : JSlider JSlider erzeugt wie JScrollBar Schieberegler Kann Anzeigeskala mit grober und feiner Einteilung haben Kennt keine unterschiedlichen Schiebegrößen Ausdehnung der Schieber ist immer 1 Wichtigster Konstruktor: public JSlider( int orientation, int min, int max, int value ) 10.06.2008 23

Methoden zum Zugriff auf numerische Eigenschaften: public int getminimum( ) public void setminimum( int minimum ) public int getmaximum( ) public void setmaximum( int maximum ) public int getvalue( ) public void setvalue( int value ) Methoden zum Zugriff auf die Anzeigeskala : public int getmajortickspacing( ) public void setmajortickspacing( int n ) public int getminortickspacing( ) public void setminortickspacing( int n ) 10.06.2008 24

Methoden für die Anzeige und den Schieber: public void setpaintticks( boolean b ) public void setpaintlabels( boolean b ) public void setsnaptoticks( boolean b ) JSlider sendet kein Adjustment.Event wie JScrollPane, sonder ein Change.Event Interface ChangeListener ist zu implementieren addchangelistener muß für das Objekt aufgerufen werden getvalueisadjusting stellt wie in JSrollBar fest, ob die Änderung Bestandteil einer Kette von Werteänderungen ist oder ob sie einzeln aufgetreten ist 10.06.2008 25

Quasi-analoge Komponenten : JProgressBar Zur Darstellung kontinuierlicher Werte Fortschrittanzeige mit aktuellem grafisch dargestelltem Wert Seit JDK 1.4 als dauerhaft ablaufende Animation Wichtigste Konstruktoren: public JProgressBar( int orient ) public JProgressBar( int min, int max ) public JProgressBar( int orient, int min, int max ) 10.06.2008 26

weitere Methoden: public void setstringpainted( boolean b ) public void setvalue( int n ) public int getvalue( ) public int setindeterminate( boolean newvalue ) public boolean isindeterminate( ) 10.06.2008 27

Was Swing von AWT unterscheidet Swing bietet viel mehr Komponenten als AWT. Das AWT bietet zum Beispiel keine Tabellen oder Bäume. Schaltflächen und Labels nehmen Symbole auf, die sie beliebig um Text angeordnet darstellen. Swing-Komponenten können transparent und beliebig geformt sein; eine Schaltfläche kann wie unter Mac OS X abgerundet sein. Jede Swing-Komponente kann einen Rahmen bekommen. AWT-Komponenten arbeiten nicht nach dem Model/View-Prinzip, nach dem die Daten getrennt von den Komponenten gehalten werden. Die AWT-Methoden sind Thread-sicher, es können also mehrere Threads zur gleichen Zeit Methoden der AWT-Komponenten aufrufen. Die meisten Swing- Methoden sind nicht Thread-sicher, und Entwickler müssen darauf achten, dass Parallelität keine problematischen Zustände erzeugt. 10.06.2008 28

10.06.2008 29