Objektorientiertes Programmieren. Übungsblatt 5

Ähnliche Dokumente
JLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg )

Institut für Informatik

Java GUI Entwicklung mit Swing

Swing Lernen am Code Teil 1

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

Grafische Benutzeroberflächen

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

Grafische Benutzeroberflächen

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

Programmieren mit Swing

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

Grafische Benutzeroberflächen

GUI Programmierung mit javax.swing

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Javakurs für Fortgeschrittene

Ausgewählte Implementierungsprobleme

Mensch-Maschine-Interaktion

...erinnern Sie sich? oopjs4b / kwhbkd4r

11. GUI-Programmierung mit SWING Überblick

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Einführung in GUI-Programmierung. javax.swing

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

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Swing Grundlagen. Andre Eichmann

GUI Programmierung mit JAVA Swing

import java.awt.*; import java.awt.event.*; import javax.swing.*;

Einführung in GUI-Programmierung. javax.swing

JTable. W. Lang HWR Berlin, SS

JList JTable Layout-Manager GridBagLayout. Programmieren II. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Universität VL 13 VL 13 GUI-Programmierung mit Swing Osnabrück Informatik B - Objektorientierte Programmierung in Java Vorlesung 13: GUI 3: Swing

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

NTB Druckdatum:

04 - Actions. Actions

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Arbeitsblatt 5 EAD II NetBeans

und mein Button JButton

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr Seite 1 von 5. Teil 2: Aufgaben

Grafische Benutzungsschnittstellen (GUIs) mit Swing

Objektorientierte Softwareentwicklung

Objektorientierte Software-Entwicklung

11. GUI-Programmierung mit SWING Überblick

GUI. Programmiermethodik. Eva Zangerle Universität Innsbruck

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.

14 Swing-Komponenten , Prof. Dr. D. Ratz

Grafische Benutzungsschnittstellen (GUIs) mit Swing

Vorlosung: Swing: Erstellen eines JFrames mit GridBagLayout

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Swing oder AWT? Was ist das: Swing bzw. AWT. Haupterkennungsmerkmal von Swing Source-Code:

Lohnart Stundenlohn - Varianten

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

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

Java. Prof. Dr. Stefan Enderle NTA Isny

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

Das Anpassen der Stammdatenansichten

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

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik

Mandatierte Eigenschaften mit Angaben in Freien Belegfeldern vergleichen.

Office 365 User Integration

Objektorientierte Programmierung

Grafische Benutzeroberflächen in JAVA

Statistische Erhebung Stand (jahrgangsweise Erfassung)

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Transkript:

Objektorientiertes Programmieren Christian Silberbauer Übungsblatt 5 Folgende Aufgaben beziehen sich weitgehend auf die GUI-Folien der Vorlesung. Speichern Sie bitte die einzelnen Versionen der KundenVerwaltung in verschiedenen Projekten. Aufgabe 1 KundenVerwaltung v1 aus der JDialog setdefaultcloseoperation() setvisible() Aufgabe 2 KundenVerwaltung v2 aus der setmodal() JFrame Fenster öffnen Aufgabe 3

KundenVerwaltung v3 aus der JMenuBar JMenu JMenuItem JSeparator ActionListener Aufgabe 4 KundenVerwaltung v4 aus der JTextField JButton LayoutManager Inter-Dialog- Kommunikation Aufgabe 5 KundenVerwaltung v5 aus der JTable TableModel ListSelectionModel MouseListener ScrollPane TitlePane Die Anwendung so wie sie auf den Vorlesungsfolien beschrieben ist, wirft eine Exception, wenn über das Menü der Kunde bearbeiten -Dialog geöffnet wird und in der Tabelle noch kein Eintrag ausgewählt wurde. Beheben Sie das Problem, indem Sie den entsprechenden Menüeintrag deaktivieren (disablen), sofern keine Zeile selektiert ist.

Lösungshinweise für die Erweiterung: - Entsprechendes JMenuItem als Attribut speichern und dieses zunächst mit setenabled(false) deaktivieren. - Für das SelectionModel einen ListSelectionListener registrieren. Falls der ausgewählte Index ungleich -1 ist, das JMenuItem aktivieren. Aufgabe 6a KundenVerwaltung v6 aus der JCheckBox JRadioButton JList ListModel ListCellRenderer Fügen Sie zudem dem Kunden bearbeiten -Dialog ein JScrollPane hinzu, sodass durch Verkleinern des Fensters Scrollbalken erscheinen. Lösungshinweise für die Erweiterung: - Erzeugen Sie zunächst ein JPanel, dem sämtliche Komponenten des Dialogs hinzugefügt werden. Dieses JPanel verwendet keinen LayoutManager. - Setzen Sie hierbei mit setpreferredsize() die bevorzugte Größe (setsize() funktioniert nicht!) - Fügen Sie dieses JPanel einem JScrollPane hinzu, das daraufhin dem ContentPane hinzugefügt wird. - Das ContentPane selbst sollte das BorderLayout verwenden (Default), sodass das JScrollPane den gesamten Platz verwendet. - Durch pack() vor setvisible() wird die initiale Fenstergröße automatisch bestimmt (anhand der bevorzugten Größe des JPanels im ContentPane). Aufgabe 6b

Ergänzen Sie die KundenVerwaltung der vorhergehenden Aufgabe um die Felder Geburtsdatum, Straße, Postleitzahl und Wohnort. Verwenden Sie zur Speicherung der Kundendaten eine Collection vom Typ List<Kunde>, statt wie bisher einen Array. Zeigen Sie sämtliche Felder wie folgt in der Tabellenansicht an. Aus dem Geschlecht soll in der Tabellenansicht der Wert für die Anrede Herr oder Frau abgeleitet werden. Stammkunden erhalten i.d.r. mindestens 30% Rabatt. Wird im KundeBearbeitenDialog ein Kunde zum Stammkunden gemacht, so soll folgende Meldung erscheinen, wenn der aktuelle Rabattsatz unter 30% liegt: Wählt der Anwender hier Ja, dann wird der Rabatt auf 30% gesetzt. Lösungshinweise:

- Für das Geburtsdatum empfiehlt sich ein JFormattedTextField, parametrisiert mit einem SimpleDateFormat. - JTable generiert in der Spalte Stammkunde? eigenständig Checkboxen, wenn hierfür die Methode getcolumnclass() des TableModels den Typ Boolean zurückgibt. Zudem muss hier für das Geburtsdatum Date zurückgegeben werden, ansonsten String. - Um die Hinweismeldung beim Klick auf Stammdaten zu erzeugen, wird ein ItemListener benötigt.