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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester / 37 JList JTable Layout-Manager GridBagLayout 2 / 37 Die Klasse JList Die Klasse JList stellt einen Container für Auswahllisten zur Verfügung. Hierbei sind eine rein vertikale und eine tabellenartige Anordnung möglich. Weiterhin kann neben Einzelauswahl die Auswahl von Bereichen und mehreren Elementen zugelassen werden. Über die Methode addlistselectionlistener kann ein entsprechender Listener beim Selektieren benachrichtigt werden. Dieser muss die Methode valuechanged implementieren. 3 / 37 Handout S. 1

2 p u b l i c c l a s s App extends JFrame implements L i s t S e l e c t i o n L i s t e n e r { p r i v a t e J L i s t l i s t ; p u b l i c App( ) { super ( "Meine Anwendung" ) ; t h i s. setlayout (new BorderLayout ( ) ) ; S t r i n g [ ] data = {" e i n s ", " zwei ", " d r e i ", " v i e r ", " f u e n f " ; l i s t = new J L i s t ( data ) ; l i s t. setlayoutorientation ( J L i s t.vertical) ; l i s t. setselectionmode ( L i s t S e l e c t i o n M o d e l.single_selection ) ; l i s t. a d d L i s t S e l e c t i o n L i s t e n e r ( t h i s ) ; t h i s. add ( l i s t, BorderLayout.PAGE_START) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( true ) ; 4 / 37 (Forts.) p u b l i c void valuechanged ( L i s t S e l e c t i o n E v e n t event ) { i f ( event. getvalueisadjusting ( ) ) return ; i f ( l i s t. g e t S e l e c t e d I n d e x ( )!= -1) { System. out. p r i n t l n ( l i s t. g e t S e l ectedvalue ( ) ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { App myapp = new App ( ) ; 5 / 37 Resultat 6 / 37 Handout S. 2

3 ListModel In der im verwendeten Form ist JList sehr starr. Aus der Auswahlliste können z. B. keine Elemente hinzu gefügt oder entfernt werden. Möchte man flexiblere Listen, so kann man ein ListModel verwenden. In den meisten Fällen reicht DefaultListModel. Möchte man ein eigenes ListModel implementieren, so kann man die Klasse AbstractListModel als Basisklasse verwenden. 7 / 37 p u b l i c c l a s s App extends JFrame implements ActionListener, L i s t S e l e c t i o n L i s t e n e r { p r i v a t e J L i s t l i s t ; p r i v a t e DefaultListModel l i s t M o d e l ; p r i v a t e JTextField eingabe ; p u b l i c App( ) {... l i s t M o d e l = new DefaultListModel ( ) ; l i s t = new J L i s t ( l i s t M o d e l ) ; l i s t. setlayoutorientation ( J L i s t.vertical) ; l i s t. setselectionmode ( L i s t S e l e c t i o n M o d e l.single_selection ) ; l i s t. a d d L i s t S e l e c t i o n L i s t e n e r ( t h i s ) ; t h i s. add (new JScrollPane ( l i s t ), BorderLayout.PAGE_START) ; eingabe = new JTextField ( 2 0 ) ; eingabe. addactionlistener ( t h i s ) ; t h i s. add ( eingabe, BorderLayout.PAGE_END) ;... 8 / 37 (Forts.) p u b l i c void valuechanged ( L i s t S e l e c t i o n E v e n t event ) { i f ( event. getvalueisadjusting ( ) ) return ; i f ( l i s t. g e t S e l e c t e d I n d e x ( )!= -1) { System. out. p r i n t l n ( l i s t. g e t S e l ectedvalue ( ) ) ; p u b l i c void actionperformed ( ActionEvent event ) { l i s t M o d e l. addelement ( eingabe. gettext ( ) ) ; eingabe. settext ( "" ) ; 9 / 37 Handout S. 3

4 Die Klasse JTable Mit der Klasse JTable können Tabellen gestaltet werden, die z. B. Spaltentitel oder verschiebbare Spaltengrenzen besitzen. In der einfachsten Form erwartet der Konstruktor einen 2D-Array mit den Tabellendaten und einen Array mit den Spaltentiteln. Diese Form ist allerdings sehr starr, da die Tabellenfelder nicht geändert werden können und keine Zeilen hinzu gefügt oder geändert werden können. 10 / 37 p u b l i c c l a s s App extends JFrame { p u b l i c App( ) { super ( "Meine Anwendung" ) ; t h i s. setlayout (new BorderLayout ( ) ) ; S t r i n g [ ] columnnames = {" F i r s t Name", " Last Name", "Hobby" ; Object [ ] [ ] data = { {"Mary", "Campione", " Snowboarding ", {" Alison ", "Huml", "Rowing", {"Kathy", "Walrath", " Knitting ", {"Sharon", "Zakhour", "Speed reading ", {" P h i l i p ", " Milne ", " Pool " ; JTable mytable = new JTable ( data, columnnames ) ; mytable. s e t F i l l s V i e w p o r t H e i g h t ( true ) ; t h i s. add (new JScrollPane ( mytable ), BorderLayout.PAGE_START) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( true ) ; 11 / 37 Resultat 12 / 37 Handout S. 4

5 Eigene Tabellenmodelle Um ein eigenes Tabellenmodell zu implementieren, erbt man am Einfachsten von der Klasse AbstractTableModel. Hierin können folgende Methoden überschrieben werden: int getcolumncount() int getrowcount() Object getvalueat(row,col) void setvalueat(obj, row, col) Zahl der Spalten Zahl der Zeilen Element in Zeile row und Spalte col Setzt das Element in Zeile row und Spalte col auf obj 13 / 37 für ein Tabellenmodell Im folgenden wird ein Tabellenmodell implementiert, das für eine Menge von Zahlen 0... n 1 in der ersten Spalte die Zahl selber und in der zweiten das Quadrat dieser Zahl anzeigt. Hierbei ist die Zahl der Zeilen n variabel und kann durch eine Methode increase jeweils um eins erhöht werden. 14 / 37 Die Klasse MyTableModel p u b l i c c l a s s MyTableModel extends AbstractTableModel { p r i v a t e i n t index = 0 ; p u b l i c void i n c r e a s e ( ) { index++; t h i s. firetablestructurechanged ( ) ; p u b l i c i n t getcolumncount ( ) { return 2 ; p u b l i c i n t getrowcount ( ) { return index ; p u b l i c Object getvalueat ( i n t row, i n t c o l ) { i f ( c o l == 0) { return new I n t e g e r ( row ) ; e l s e i f ( c o l == 1) { return new I n t e g e r ( row*row ) ; e l s e return n u l l ; 15 / 37 Handout S. 5

6 Die Klasse App p u b l i c c l a s s App extends JFrame implements A c t i o n L i s t e n e r { p r i v a t e JButton applybutton ; p r i v a t e MyTableModel mymodel ; p u b l i c App( ) { super ( ) ; t h i s. s etdefaultcloseoperation ( JFrame.EXIT_ON_CLOSE) ; t h i s. setlayout (new BorderLayout ( ) ) ; applybutton = new JButton ( " Erweitern " ) ; t h i s. add ( applybutton, BorderLayout.PAGE_END) ; mymodel = new MyTableModel ( ) ; JTable t a b l e = new JTable (mymodel ) ; JScrollPane s c r o l l P a n e = new JScrollPane ( t a b l e ) ; t a b l e. s e t F i l l s V i e w p o r t H e i g h t ( true ) ; applybutton. addactionlistener ( t h i s ) ; t h i s. add ( scrollpane, BorderLayout.PAGE_START) ; t h i s. pack ( ) ; t h i s. s e t V i s i b l e ( true ) ; 16 / 37 Die Klasse App (Forts.) p u b l i c void actionperformed ( ActionEvent event ) { mymodel. i n c r e a s e ( ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { App app = new App ( ) ; 17 / 37 Resultat 18 / 37 Handout S. 6

7 Der Layout-Manager Der Layout-Manager ist für die Platzierung der Komponenten innerhalb eines Containers (z. B. ein Toplevel-Element) verantwortlich. Swing kennt im Wesentlichen: FlowLayout ordnet Komponenten von links nach rechts an BorderLayout Anordnung nach Himmelsrichtungen BoxLayout Erweiterung von FlowLayout um Zwischenräume und Glues GridLayout Anordnung in Zeilen und Spalten GridBagLayout komplexeres GridLayout 19 / 37 Als einfaches soll folgende Anwendung realisiert werden: Titelzeile oben, In der Mitte eine 2 2-Tabelle mit Label und einem Texteingabefeld in der ersten Zeile und Label und Ergebnisfeld in der zweiten Zeile, Anwendungsschaltfläche unten Beim Klicken auf Anwenden soll im eingegebenen Text die Anzahl des Buchstaben e gezählt und im Ergebnisfeld ausgegeben werden. 20 / 37 Grundgerüst import javax. swing. * ; import java. awt. * ; p u b l i c c l a s s MyApp extends JFrame { p r i v a t e JTextField eingabe ; p r i v a t e JLabel r e s u l t ; p u b l i c MyApp( S t r i n g t i t l e ) { super ( t i t l e ) ; t h i s. s etdefaultcloseoperation ( JFrame.EXIT_ON_CLOSE) ; t h i s. s e t S i z e (400, ) ; t h i s. setlayout (new BorderLayout ( ) ) ; 21 / 37 Handout S. 7

8 Grundgerüst (Forts.) JLabel top = new JLabel ( " B i t t e einen Text eingeben " ) ; top. s e t H o r i z o n t a l T e x t P o s i t i o n ( SwingConstants.CENTER) ; t h i s. add ( top, BorderLayout.PAGE_START) ; JButton applybutton = new JButton ( "Anwenden" ) ; t h i s. add ( applybutton, BorderLayout.PAGE_END) ; p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { MyApp app = new MyApp( " e - Anwendung" ) ; app. s e t V i s i b l e ( true ) ; 22 / 37 Aktueller Stand Durch dieses Grundgerüst existieren das Hauptfenster mit zentrierter Titelzeile oben und einer Schaltfläche Anwenden unten. Die Tabelle im Format 2 2 in der Mitte soll im GridLayout gesetzt werden. Hierfür wird im Zentrum ein Container, nämlich ein JPanel eingefügt, der das Grid enthält. 23 / 37 Neuer Konstruktor von MyApp p u b l i c MyApp( S t r i n g t i t l e ) { super ( t i t l e ) ;... JPanel mid = new JPanel ( ) ; mid. setlayout (new GridLayout ( 2, 2, 1 0, 1 0 ) ) ; t h i s. add ( mid, BorderLayout.CENTER) ; eingabe = new JTextField ( ) ; r e s u l t = new JLabel ( ) ; mid. add (new JLabel ( " Eingabe " ) ) ; mid. add ( eingabe ) ; mid. add (new JLabel ( "Antwort" ) ) ; mid. add ( r e s u l t ) ; 24 / 37 Handout S. 8

9 GridLayout Die Layout-Klasse GridLayout kennt drei Konstruktoren: GridLayout() Standardkonstruktor, GridLayout(int rows, int cols) Grid mit Angabe von Zahl der Zeilen und Spalten, GridLayout(int rows, int cols, int hgap, int vgap) wie zuvor, aber mit Angabe von horizontalem (hgap) und vertikalem (vgap) Abstand zwischen den Zellen. 25 / import java. awt. event. * ; Quelltext 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 JTextField eingabe ; p r i v a t e JLabel r e s u l t ; p u b l i c MyApp( S t r i n g t i t l e ) {... applybutton. addactionlistener ( t h i s ) ; p u b l i c void actionperformed ( ActionEvent event ) { i n t count = 0 ; S t r i n g t e x t = eingabe. gettext ( ) ; f o r ( i n t i =0; i<t e x t. length ( ) ; i++) { i f ( t e x t. charat ( i)== ' e ' ) count++; r e s u l t. settext ( S t r i n g. valueof ( count ) ) ; 26 / 37 Kompletter Quelltext import java. awt. * ; import java. awt. event. * ; 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 JTextField eingabe ; p r i v a t e JLabel r e s u l t ; p u b l i c MyApp( S t r i n g t i t l e ) { super ( t i t l e ) ; t h i s. s etdefaultcloseoperation ( JFrame.EXIT_ON_CLOSE) ; t h i s. s e t S i z e (400, ) ; t h i s. setlayout (new BorderLayout ( ) ) ; JLabel top = new JLabel ( " Text eingeben ", JLabel.CENTER) ; top. s e t H o r i z o n t a l T e x t P o s i t i o n ( SwingConstants.CENTER) ; t h i s. add ( top, BorderLayout.PAGE_START) ; 27 / 37 Handout S. 9

10 Kompletter Quelltext (Forts.) JButton applybutton = new JButton ( "Anwenden" ) ; t h i s. add ( applybutton, BorderLayout.PAGE_END) ; applybutton. addactionlistener ( t h i s ) ; JPanel mid = new JPanel ( ) ; mid. setlayout (new GridLayout ( 2, 2, 1 0, 1 0 ) ) ; t h i s. add ( mid, BorderLayout.CENTER) ; eingabe = new JTextField ( ) ; r e s u l t = new JLabel ( ) ; mid. add (new JLabel ( " Eingabe " ) ) ; mid. add ( eingabe ) ; mid. add (new JLabel ( "Antwort" ) ) ; mid. add ( r e s u l t ) ; 28 / 37 Kompletter Quelltext (Forts.) p u b l i c void actionperformed ( ActionEvent event ) { i n t count = 0 ; S t r i n g t e x t = eingabe. gettext ( ) ; f o r ( i n t i =0; i<t e x t. length ( ) ; i++) { i f ( t e x t. charat ( i)== ' e ' ) { count++; r e s u l t. settext ( S t r i n g. valueof ( count ) ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] args ) { MyApp app = new MyApp( " e - Anwendung" ) ; app. s e t V i s i b l e ( true ) ; 29 / 37 GridBagLayout Einführung In vielen Anwendungen soll die Anordnung der Komponenten gitterartig erfolgen. Beim bisher benutzen GridLayout sind allerdings alle Zellen des Grids gleich groß, was zu einem unausgewogenen Layout führt. Hier ist das GridBagLayout überlegen. Das GridBagLayout hat folgende Eigenschaften: Komponenten können mehrere Zeilen oder Spalten einnehmen. Es kann definiert werden, in welche Richtungen eine Komponente wachsen kann. Die Ausrichtung von Komponenten innerhalb der Zelle kann definiert werden. Zellen kann ein Gewicht gegeben werden, das definiert, ob (und wie stark) die Zelle wachsen kann. 30 / 37 Handout S. 10

11 eines GridBagLayouts 31 / 37 Die Klasse GridBagConstraints Die zuvor beschriebenen Eigenschaften werden in einem GridBagConstraints-Objekt beschrieben. Dieses enthält die Attribute gridx, gridy Position der Komponente (Default: 0). Neben positiven Zahlen ist auch GridBagConstraints.RELATIVE zulässig. gridwidth, gridheight gibt die Zahl der Spalten bzw. Zeilen an, die die Komponente einnimmt (Default: 1). GridBagConstraints.REMAINDER zeigt an, dass diese Komponente die letzte in der Zeile bzw. Spalte ist und alle übrigen Zellen einnimmt. fill gibt an, ob die Komponente gedehnt wird. Zulässige Werte: GridBagConstraints.NONE (default),.both,.horizontal,.vertical 32 / 37 Die Klasse GridBagConstraints (Forts.) ipadx, ipady Padding in Pixeln innerhalb der Komponente anchor Anordnung der Komponente innerhalb der Zelle (wie in BorderLayout) weightx, weighty gibt an, wie stark die Zelle wachsen darf. Erlaubte Werte liegen zwischen 0 (gar nicht, default) und 1 (maximales Wachstum). Haben mehrere Komponenten innerhalb einer Zeile bzw. Spalte Gewichte > 0, so wird freier Platz auf die Komponenten anhand des Gewichtsverhältnisses verteilt. 33 / 37 Handout S. 11

12 p u b l i c c l a s s GridBagLayoutDemo extends JFrame { p u b l i c GridBagLayoutDemo ( ) { super ( "GidBagLyaoutDemo" ) ; setlayout ( new GridBagLayout ( ) ) ; s etdefaultcloseoperation ( JFrame.EXIT_ON_CLOSE) ; JButton button ; GridBagConstraints c ; button = new JButton ( " Button 1" ) ; c = new GridBagConstraints ( ) ; c. f i l l = GridBagConstraints.HORIZONTAL; c. gridx = 0 ; c. gridy = 0 ; c. weightx = 1 ; add ( button, c ) ; 34 / 37 button = new JButton ( " Button 2" ) ; c = new GridBagConstraints ( ) ; c. f i l l = GridBagConstraints.HORIZONTAL; c. gridx = GridBagConstraints.RELATIVE; c. gridy = 0 ; c. weightx = 0. 5 ; add ( button, c ) ; button = new JButton ( " Button 3" ) ; c = new GridBagConstraints ( ) ; c. f i l l = GridBagConstraints.HORIZONTAL; c. gridx = GridBagConstraints.RELATIVE; c. gridy = 0 ; add ( button, c ) ; 35 / 37 button = new JButton ( "Long - Named Button 4" ) ; c = new GridBagConstraints ( ) ; c. f i l l = GridBagConstraints.BOTH; c. ipady = 4 0 ; //make t h i s component t a l l c. weighty = 0. 5 ; c. gridwidth = 3 ; c. gridx = 0 ; c. gridy = GridBagConstraints.RELATIVE; add ( button, c ) ; 36 / 37 Handout S. 12

13 button = new JButton ( "5" ) ; c = new GridBagConstraints ( ) ; c. f i l l = GridBagConstraints.HORIZONTAL; c. ipady = 0 ; c. weighty = 1. 0 ; c. anchor = GridBagConstraints.PAGE_END; c. gridx = 1 ; // a l i g n e d with button 2 c. gridwidth = 2 ; //2 columns wide c. gridy = GridBagConstraints.RELATIVE; // t h i r d row add ( button, c ) ; pack ( ) ; 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 ) { GridBagLayoutDemo app = new GridBagLayoutDemo ( ) ; 37 / 37 Handout S. 13

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

Fachhochschule Fulda Fachbereich Angewandte Informatik. Hausarbeit Seminar: Java3D. Java Layout-Manager WS 2002/2003

Fachhochschule Fulda Fachbereich Angewandte Informatik. Hausarbeit Seminar: Java3D. Java Layout-Manager WS 2002/2003 Fachhochschule Fulda Fachbereich Angewandte Informatik Hausarbeit Seminar: Java3D Java Layout-Manager WS 2002/2003 Verfasser: m.dziadek@gmx.de Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung...

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

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

Entwicklung von E-Learning Komponenten zur Computergrafik

Entwicklung von E-Learning Komponenten zur Computergrafik F Entwicklung von E-Learning Komponenten zur Computergrafik Development of E-learning components for computer graphics Markus Stollenwerk, Rainer Friesen und Daniel Valentin Master Projektstudium Betreuer:

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

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

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

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

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

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

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

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

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Heinrich Hußmann Ludwig-Maximilians-Universität München Sommersemester 2003 Ludwig-Maximilians-Universität München Prof. Hußmann

Mehr

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

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

7. Architektur interaktiver Systeme

7. Architektur interaktiver Systeme 7. Architektur interaktiver Systeme 7.1 Entkopplung durch Sichten 7.2 Ereignisgesteuerter Programmablauf 7.3 Benutzungsoberflächen (Fortsetzung) Layout-Manager Definition Ein Layout-Manager ist ein Objekt,

Mehr

Einführung in Swing. Graphical User Interface

Einführung in Swing. Graphical User Interface Einführung in Swing Ho Ngoc Duc IFIS - Universität zu Lübeck Graphical User Interface Ein GUI-Programm beinhaltet: Graphische Darstellung der Anwendungsdaten und Interaktionsmöglichkeiten in Fenstern Steuerung

Mehr

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

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

Swing :Komponenten I (Teil 2)

Swing :Komponenten I (Teil 2) l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde

Mehr

Softwarepraktikum: Enigma

Softwarepraktikum: Enigma Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I GUI Inhalt: Übersicht gui-pakete in Java: AWT, Swing Komponenten und Behälter Layout Ereignisse und Ereignisbehandlung Ereignismodell

Mehr

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

AWT. Einfache AWT-Anwendung. Swing. Vorlesung 1. Handout S. 2. import java. awt. * ; Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 56 Grafische Benutzeroberflächen Container Menüs JComponent JLabel/JTextField Buttons Events und Listener 2 / 56 Einführung:

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben

Mehr

J.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1

J.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1 GUI-Programmierung in Java GUI-Programmierung in in Java 2002 Prof Dr Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: : Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen

Mehr

GUI-Programmierung in Java

GUI-Programmierung in Java GUI-Programmierung in Java Jan Pihl, Daniel Bugdalle 1. Einleitung Betreuer: Thomas Ströder Die Bedienung von Software stellt sich oft als etwas schwierig für viele Nutzer heraus, wenn es keine grafische

Mehr

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101

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

Mehr

11. GUI-Programmierung mit SWING Überblick

11. GUI-Programmierung mit SWING Überblick 11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing

Mehr

Vorlesung Programmieren. Bisher... Apple Lisa Office System 3.1. GUIs mit Java

Vorlesung Programmieren. Bisher... Apple Lisa Office System 3.1. GUIs mit Java Vorlesung Programmieren GUIs mit Java Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Bisher... 2 Apple Lisa Office System 3.1 3 Graphical

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung Einleitung Architektur Swing Beispiele Aufgabe Techniken der Projektentwicklung Swing Concepts Ingo Lütkebohle Termin 11 Ingo Lütkebohle Techniken der Projektentwicklung 1 Einleitung Architektur Swing

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren GUIs mit Java Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Bisher... 2 Apple Lisa Office System 3.1 3 Graphical

Mehr

7.1 Übersicht Geschichte von swing

7.1 Übersicht Geschichte von swing Frühjahrsemester 2012 CS108 Programmier-Projekt Kapitel 7: Grafikprogrammierung mit swing H. Schuldt 7.1 Übersicht Geschichte von swing AWT hat den meisten Ansprüchen für die Grafikprogrammierung nicht

Mehr

GUIs in Java und ihre Programmierung

GUIs in Java und ihre Programmierung GUIs in Java und ihre Programmierung Einführung GUI = Graphical User Interface graphische Benutzerschnittstelle Java Tutorial java.sun.com/docs/books/tutorial/index.html Java Documentation (in Version

Mehr

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

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

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

Vorlesung 13. Sitzung Grundlegende Programmiertechniken

Vorlesung 13. Sitzung Grundlegende Programmiertechniken Vorlesung 13. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Grundlegende Programmiertechniken, WS 2007/2008 GUI-Entwicklung mit

Mehr

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event. Lösungen 1. Aufgabe // ActionExample.java import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample extends JFrame int counter = 1; JLabel counterlabel; public

Mehr

Grafische Benutzungsschnittstellen (GUIs) mit Swing

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

Mehr

Grafische Benutzungsschnittstellen (GUIs) mit Swing

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

Mehr

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

2. Programmierung von Benutzungsschnittstellen

2. Programmierung von Benutzungsschnittstellen 2. Programmierung von Benutzungsschnittstellen 2.1 Modell-Sicht-Paradigma 2.2 Bausteine für grafische Oberflächen 2.3 Ereignisgesteuerte Programme 1 Benutzungsoberflächen Technische Realisierungen: Stapelverarbeitungssprache

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

LayoutManager. Einsatz von LayoutManagern in AWT/Swing Containern. Prof. Dr. Nikolaus Wulff

LayoutManager. Einsatz von LayoutManagern in AWT/Swing Containern. Prof. Dr. Nikolaus Wulff LayoutManager Einsatz von LayoutManagern in AWT/Swing Containern Prof. Dr. Nikolaus Wulff Wozu LayoutManager Graphische Oberflächen müssen variabel auf Größenänderung eines Fenster reagieren. Hierzu wird

Mehr

Java: Swing Komponenten I. Maike Brandt

Java: Swing Komponenten I. Maike Brandt 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

Mehr

Einstieg in die Informatik mit Java

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

Mehr

04 - Actions. Actions

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

Mehr

Teil 1: Grundeigenschaften von Rechnern und Software

Teil 1: Grundeigenschaften von Rechnern und Software Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [3P] Nennen Sie mindestens 3 Arten von Programmen zur Softwareentwicklung Editor, Compiler, Linker, Debugger, Interpreter,...

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Graphische Benutzerschnittstellen II GUI und Aktionen verknüpfen MVC-Muster Seite 1 GUI mit Aktionen verknüpfen Seite 2 ActionListener

Mehr

Teil 1: Neuerungen in Java 1.5 [15P]

Teil 1: Neuerungen in Java 1.5 [15P] Blatt Nummer: 1 Teil 1: Neuerungen in Java 1.5 [15P] Aufgabe 1.1 Autoboxing [2P] Streichen Sie in folgendem Program die Teile, die dank Autoboxing ab Java 1.5 nicht mehr notwendig sind. 01: 02: import

Mehr

Ein Manager mit CardLayout layout/cards.java

Ein Manager mit CardLayout layout/cards.java 201 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Ein Manager mit CardLayout layout/cards.java CardLayout dient vor allem zum Aufbau von Inspektoren: In der gleichen Fläche soll je nach

Mehr

Grundlagen der Informatik für Ingenieure I. 8. AWT - Abstract Window Toolkit Teil 1

Grundlagen der Informatik für Ingenieure I. 8. AWT - Abstract Window Toolkit Teil 1 8. AWT - Abstract Window Toolkit Teil 1 8.1.1 Labels 8.1.2 Buttons 8.1.3 Check Boxes 8.1.4 Radio Buttons 8.1.5 Choice Menus 8.1.6 Text Fields 8.2.1 Flow Layout 8.2.2 Grid Layout 8.2.3 Border Layout.1 8

Mehr

Graphische Nutzerschnittstellen

Graphische Nutzerschnittstellen Graphische Nutzerschnittstellen Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Einführung,

Mehr

public class Beispiel1 extends Frame {

public 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

Mehr

$ java awt.main A # typische Dekodierung $ java -Dtrace=all awt.main A # alle Events $ java -Dtrace=none awt.main A # keine Dekodierung

$ java awt.main A # typische Dekodierung $ java -Dtrace=all awt.main A # alle Events $ java -Dtrace=none awt.main A # keine Dekodierung 111 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Button [ Applet] Beispiel A dient zum Experimentieren mit Button- und Panel-Objekten. Button stammt von Component ab, stellt einen String

Mehr

JAVA Oberflächen mit Swing

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

Mehr

Ü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

6. Objektorientiertes Design

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

Mehr

Probeklausur: Programmierung WS04/05

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

Mehr

Teil 1: Grundeigenschaften von Rechnern und Software

Teil 1: Grundeigenschaften von Rechnern und Software Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [2P] Welcher fundamentale Unterschied besteht zwischen dem Zweck eines Computer von dem Zweck anderer Maschinen (etwa einer

Mehr

Informatik I Eprog HS10

Informatik I Eprog HS10 Department of Informatics software evolution & architecture lab Informatik I Eprog HS10 Übung 7 1 Aufgabe: Interface 1.1 Lernziele 1. Sie können eine Schnittstelle definieren und diese in Klassen implementieren.

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker GUI-Programmierung mit Java PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 15. April 2013 Übersicht GUI-Bibliotheken

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

Mehr

Nachholklausur (6 ECTS): Lösungsvorschlag Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname...

Nachholklausur (6 ECTS): Lösungsvorschlag Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Ludwig-Maximilians-Universität München WS 2012/13 Institut für Informatik 19.04.2013, 12:00 14:00 Uhr Prof. Dr. R. Hennicker, A. Klarl Nachholklausur (6 ECTS): Lösungsvorschlag Einführung in die Informatik:

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

SWING. DVG2-09 -Swing 1

SWING. DVG2-09 -Swing 1 SWING DVG2-09 -Swing 1 GUIs Swing stellt eine Menge von Klassen zur Verfügung, mit deren Hilfe man in Java portable GUIs programmieren kann. GUI: Graphical User Interface (Grafische Nutzer Schnittstelle)

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

Ansonsten VIEL SPAß! Nicholas Ohs (GK 11 IF 2)

Ansonsten VIEL SPAß! Nicholas Ohs (GK 11 IF 2) !!!ACHTUNG!!! Wenn jemand Rechtschreib- oder Grammatikfehler findet, kann er sie behalten. Ich habe diesen Text nicht Korrektur gelesen. Deshalb bitte: Inhaltliche Fehler MELDEN!!! Ansonsten VIEL SPAß!

Mehr

Programmierkurs. 11. Vorlesung. Sven Mallach. 13. Januar 2010. Institut für Informatik - Lehrstuhl Prof. Dr. M. Jünger 1/ 60

Programmierkurs. 11. Vorlesung. Sven Mallach. 13. Januar 2010. Institut für Informatik - Lehrstuhl Prof. Dr. M. Jünger 1/ 60 Programmierkurs 11. Vorlesung Sven Mallach Institut für Informatik - Lehrstuhl Prof. Dr. M. Jünger 13. Januar 2010 1/ 60 Klausuren 1. Termin: Di. 23.02.2010 2. Termin: Do. 18.03.2010 Uhrzeit: In beiden

Mehr

Programmieren mit Swing

Programmieren mit Swing Jürgen Schlierf Rudolf Weber Programmieren mit Swing Einfuhrung in die Programmierung mit den Swing-Klassen in Java 2 HANSER Carl Hanser Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Von Java

Mehr

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

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

Mehr

Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach...

Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach... Ludwig-Maximilians-Universität München WS 2012/13 Institut für Informatik 19.04.2013, 12:00 14:00 Uhr Prof. Dr. R. Hennicker, A. Klarl Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung

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

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

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 12 Grafikoberflächen Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 12.3 Bedienelemente 12 Grafikoberflächen Prof. Dr. Rolf Dornberger OOP: 12 Grafikoberflächen 22.09.2010

Mehr

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

Inhaltsverzeichnis Einleitung...1 Die Begleit-CD zu diesem Buch...5 Erweiterungen für Java Ereignisse...15 Inhaltsverzeichnis 1 Einleitung...1 1.1 Von Java bis Swing?...1 1.2 Wer sind Sie?...1 1.3 Was dieses Buch nicht ist...2 1.4 Die Gliederung dieses Buches...2 1.5 Konventionen...2 1.6 Zeit, anzufangen...4

Mehr

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

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Programmieren 2 Selbststudium Semesterwoche 4

Programmieren 2 Selbststudium Semesterwoche 4 Programmieren 2 Selbststudium Semesterwoche 4 Kapitel 11.1, 11.2 und 11.3 1. Das Konzept "Interface" ist wichtig und ist uns schon mehrfach begegnet. In welchen Zusammenhängen hatten wir es schon mit "Interfaces"

Mehr

GUI-Programmierung in Java

GUI-Programmierung in Java GUI-Programmierung in Java Von Aydin Alatas und Tobias Fischer Einleitung Im Folgenden wird die Programmierung von Grafikoberflächen in Java erklärt. Diese werden in so gut wie jeder Desktop Anwendung

Mehr

In Track B generell gute Java-Kenntnisse vorausgesetzt!

In Track B generell gute Java-Kenntnisse vorausgesetzt! Gliederung Track A (Technik, montags): A1. Eingabe- und Ausgabetechnik bei Rechnersystemen A2. Technik der digitalen Bildverarbeitung A3. Technik der digitalen Tonverarbeitung A4. Technik der digitalen

Mehr

GUI. Programmiermethodik. Eva Zangerle Universität Innsbruck

GUI. Programmiermethodik. Eva Zangerle Universität Innsbruck GUI Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 12 Grafische Benutzerschnittstellen... 12-2 12.1 Komponenten... 12-2 12.1.1 AWT und Swing... 12-2 12.1.2 Beispiel Hallo Welt!... 12-3 12.2 Ereignisverarbeitung... 12-6 12.3 Grafik... 12-10 12.3.1

Mehr

Java Beans. http://java.sun.com/beans/

Java Beans. http://java.sun.com/beans/ Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit

Mehr

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

GUI-Programmierung - Einführung

GUI-Programmierung - Einführung GUI-Programmierung - Einführung Kernkonzepte Komponenten (components) ereignisgesteuerte Programmierung (event driven programming) Layout 1 Frames and Components windows (frames) menus labels checkboxes

Mehr

Aufbau einer Swing-Applikation

Aufbau einer Swing-Applikation SWING GUIs Swing stellt eine Menge von Klassen zur Verfügung, mit deren Hilfe man in Java portable GUIs programmieren kann. GUI: Graphical User Interface (Grafische Nutzer Schnittstelle) GUIs sind grafische

Mehr

Java styleguide http://java.sun.com/docs/codeconv/html/codeconvtoc.doc.html. java styleguide http://java.sun.com/products/jlf/

Java styleguide http://java.sun.com/docs/codeconv/html/codeconvtoc.doc.html. java styleguide http://java.sun.com/products/jlf/ Oberflächenprogrammierung mit Swing (Quellen: Tiger, diverse aus dem Netz, left) Ein- und Ausgabe über Zeichenströme wie bisher am leichtesten. Stand der Technik bei kommerziellen Programmen ist aber seit

Mehr

GUI-Programmierung - Einführung

GUI-Programmierung - Einführung GUI-Programmierung - Einführung 1 Kernkonzepte Komponenten (components) Layout ereignisgesteuerte Programmierung (event driven programming) Frames and Components 2 windows (frames) menus labels checkboxes

Mehr

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

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.1. Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.1 Inhalt 1. Swing Komponenten 1. Klassenhierarchie 2. Beteiligte Packages 3. Schachtelungs-Hierarchie 4. Swing-Applikation als Klasse 2. Basis Komponente 1. JComponent 3. Text Komponenten 1. JLabel 2. JTextField

Mehr

GUI Design. Universität Paderborn Prof. Dr. Stefan Böttcher. Java Swing und AWT

GUI Design. Universität Paderborn Prof. Dr. Stefan Böttcher. Java Swing und AWT GUI Design Java Swing und AWT 1 Gui Design Von Hand Mittels visuellem GUI Designer 2 Warum von Hand? Grundkonzepte erlernen Zum Verständnis des von GUI Designern generierten Codes unerlässlich GUI Designer

Mehr

Probeklausur: Programmierung WS04/05

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

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Beispiellösung der Klausur zu Objektorientierte Programmierung mit Java 09. Juli 2004 (SS 2004)

Beispiellösung der Klausur zu Objektorientierte Programmierung mit Java 09. Juli 2004 (SS 2004) Beispiellösung der Klausur zu Objektorientierte Programmierung mit Java 09. Juli 2004 (SS 2004) A Bearbeitungszeit: 120 Minuten NICHT MIT BLEISTIFT SCHREIBEN! Name: Vorname: Matrikelnummer: Nr Max Bewertung

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Aufgabe 1 AUFRÄUMARBEIT, KONSISTENZ. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

Aufgabe 1 AUFRÄUMARBEIT, KONSISTENZ. »Programmieren«, WS 2006/2007. Nino Simunic M.A. »Programmieren«, WS 2006/2007 Nino Simunic (nino.simunic@uni-due.de) Übungsblatt 9 Die benötigten Quelltexte finden Sie hier: http://imperia.uni-due.de/imperia/md/content/computerlinguistik/uebungsblatt_9_code.zip

Mehr

5. Das Java AWT (II) Components und Container

5. Das Java AWT (II) Components und Container 5. Das Java AWT (II) Components und Container OO-Graphics in Java Das Java AWT (II) 111 AWT Hierarchie (II) Checkbox Choice Object List Button Component Canvas Panel Applet Container ScrollPane Dialog

Mehr

und mein Button JButton

und mein Button JButton und mein Button JButton 1 javax.swing Klassenbibliothek für Oberflächen weitestgehend selbst in Java programmiert sehr flexibel ziemlich langsam Layoutmanager und Eventhandling werden von awt übernommen

Mehr

2 Entwurf eines einfachen Telefonbuchs

2 Entwurf eines einfachen Telefonbuchs Kapitel 2 Entwurf eines einfachen Telefonbuchs (Phase 1) Seite 1 2 Entwurf eines einfachen Telefonbuchs Zuerst solltest du dir darüber Gedanken machen, welche Funktionen von unserem Telefonbuch erwarten.

Mehr

Programmieren lernen mit Groovy Graphische Oberflächen GUIs (Graphical User Interfaces)

Programmieren lernen mit Groovy Graphische Oberflächen GUIs (Graphical User Interfaces) Programmieren lernen mit Groovy Graphische Oberflächen GUIs (Graphical User Interfaces) Seite 1 GUI Beispiel Addierer : Code und erzeugte GUI groovy.swing.swingbuilder javax.swing.windowconstants swing

Mehr