jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout.

Ähnliche Dokumente
GUI Programmierung mit JAVA Swing

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA W. Geiger, T. Schlachter, C. Schmitt, W.

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

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

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Swing Lernen am Code Teil 1

Java - Programmierung - Applets 1

Layout Manager. Astrid Beck FHT Esslingen

...erinnern Sie sich? oopjs4b / kwhbkd4r

Applikationen - Applets

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

7. Architektur interaktiver Systeme

GUIs in Java und ihre Programmierung

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Medientechnik. Übung 2 Java Swing

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

Grafische Benutzeroberflächen

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

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

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

!!!" # $ # %&' $ ' ( )

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets

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

Grafische Benutzeroberflächen

class BahnTest2 { public static void main(string[] args) { Zug myice = new Zug("ICE Duisburg", 1200, 0, 50); BahnCardFahrer kunde2 = new BahnCardFahre

NTB Druckdatum:

JTable. W. Lang HWR Berlin, SS

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.

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

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

Ereignisse (Events) in Java

04 - Actions. Actions

Javakurs für Fortgeschrittene

Auszug aus der Klassenstruktur

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

Rückblick. Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen?

Programmieren 2 Übung Semesterwoche 6

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt

JAVA2D OKTOBER package at.ac.wuwien.examples.swingdemo; 3 import javax.swing.*; 5 public class SimpleGUI extends JFrame {

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Java für Computerlinguisten

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen

Einführung in Swing. Graphical User Interface

Grafische Benutzungsschnittstellen (GUIs) mit Swing

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

11. GUI-Programmierung mit SWING Überblick

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101

Mensch-Maschine-Interaktion

11. GUI-Programmierung mit SWING Überblick

Grafische Benutzungsschnittstellen (GUIs) mit Swing

6. Objektorientiertes Design

Programmieren in Java

II.4.2 Abstrakte Klassen und Interfaces - 1 -

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

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

Softwaretechnik 1 Übung 3

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

Datei auswählen und zeilenweise darstellen

Funktionale und Objekt-Orientierte Programmierkonzepte

Einführung in Java, Teil 6

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

SWING. DVG2-09 -Swing 1

und mein Button JButton

Kapitel 14. Systemarchitektur

Objektorientierte Software-Entwicklung

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Teil 1: Neuerungen in Java 1.5 [15P]

Hauptklausur: PRGII MD

Javakurs für Fortgeschrittene

Institut für Informatik

Graphische Nutzerschnittstellen

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

Kapitel 15. Systemarchitektur

Techniken der Projektentwicklung

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte)

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick

Subnetting Version 0 Munz FTE1- JAVA Programm Analyse

Swing :Komponenten I (Teil 2)

Programmierung 2 Studiengang MI / WI

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java

Programmieren 2 Selbststudium Semesterwoche 4

Observer-Beispiel. Observer-Beispiel

Probeklausur Informatik 2 Sommersemester 2013

Einstieg in die Informatik mit Java

11. GUI-Programmierung mit SWING Überblick

Teil 1: Grundeigenschaften von Rechnern und Software

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik

Java: Swing Komponenten I. Maike Brandt

Objektorientierte Programmierung

GroupLayout Anmerkung

1. Grundlegende Konzepte in Java (6 Punkte)

Transkript:

04.07.2011 Lösungsvorschlag 1. Aufgabe (12 + 12 Punkte): Screendesign : im Center: Label mit Bild 3P: Panel im West mit BoxLayout und TextField, Scrollpane und TextArea 4P: Panel im East mit FlowLayout und Label, TextField, RadioButtonGroup und Button 4P: Panel im South mit BoxLayout und Label, TextField, Label, TextField, Glue, Button jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout.X_AXIS)); unten.add(new JLabel("Bieter")); bieter = new JTextField(" "); // bieter.setmaximumsize(new Dimension(50, 18)); // bieter.setpreferredsize(new Dimension(50, 18)); unten.add(bieter); unten.add(new JLabel("eigenes Gebot")); gebot = new JTextField(" "); //gebot.setmaximumsize(new Dimension(60, 18)); unten.add(gebot); unten.add(box.createhorizontalglue()); weiter = new JButton("weiter"); weiter.addactionlistener(this); unten.add(weiter); // links JPanel links = new JPanel(); links.setlayout( new BoxLayout(links, BoxLayout.Y_AXIS)); JTextField vase = new JTextField(g.gegenstand); vase.setmaximumsize(new Dimension(180, 20));

links.add(vase); JTextArea text = new JTextArea(7, 18); text.settext(g.beschreibung); JScrollPane p = new JScrollPane(text); p.setmaximumsize(new Dimension(180, 120)); links.add(p); // mitte JLabel icon = new JLabel(new ImageIcon(g.bild)); // rechts JPanel rechts = new JPanel(); rechts.setlayout( new BoxLayout(rechts, BoxLayout.Y_AXIS)); rechts.add(new JLabel("Gebot")); top = new JTextField(String.valueOf(g.gebot)); top.setmaximumsize(new Dimension(180, 20)); rechts.add(top); group = new ButtonGroup(); JRadioButton plus10 = new JRadioButton("+ 10"); JRadioButton plus50 = new JRadioButton("+ 50"); JRadioButton plus100 = new JRadioButton("+100"); group.add(plus10); group.add(plus50); group.add(plus100); rechts.add(plus10); rechts.add(plus50); rechts.add(plus100); plus10.setselected(true); plus10.setactioncommand("10"); plus50.setactioncommand("50"); plus100.setactioncommand("100"); JButton inkrement = new JButton("Gebot erhöhen"); inkrement.addactionlistener(this); rechts.add(inkrement); jcontentpane.add(links, BorderLayout.WEST); jcontentpane.add(icon, BorderLayout.CENTER); jcontentpane.add(rechts, BorderLayout.EAST); jcontentpane.add(unten, BorderLayout.SOUTH); this.pack();

2. Aufgabe (6 Punkte): Interaktion public class Versteigerung extends JFrame implements ActionListener { weiter = new JButton ("weiter"); weiter.addactionlistener(this); group = new ButtonGroup(); JRadioButton plus10 = new JRadioButton("+ 10"); JRadioButton plus50 = new JRadioButton("+ 50"); JRadioButton plus100 = new JRadioButton("+100"); group.add(plus10); group.add(plus50); group.add(plus100); rechts.add(plus10); rechts.add(plus50); rechts.add(plus100); plus10.setselected(true); plus10.setactioncommand("10"); plus50.setactioncommand("50"); plus100.setactioncommand("100"); JButton inkrement = new JButton("Gebot erhöhen"); inkrement.addactionlistener(this); rechts.add(inkrement); public void actionperformed(actionevent arg0) { if (arg0.equals(weiter)) { if (bieter.gettext().isempty()) System.out.println("Bieter eintragen"); { aktg.bieter = bieter.gettext(); aktg.gebot = Double.parseDouble(top.getText()); { String inkr = group.getselection().getactioncommand(); double d = Double.parseDouble(top.getText()) + Double.parseDouble(inkr); top.settext(string.valueof(d)); gebot.settext(top.gettext());

3. Aufgabe (8 Punkte): Übersicht über Stand der Auktion class Tabelle extends AbstractTableModel { ArrayList<Gegenstand> gegenstaende; public Tabelle(ArrayList<Gegenstand> gegenstaende) { this.gegenstaende = gegenstaende; public Class getcolumnclass(int columnindex) { try { if (columnindex == 2) return Class.forName("java.lang.Double"); return Class.forName("java.lang.String"); catch (ClassNotFoundException ce) { System.out.println(ce.getMessage()); return null; public boolean iscelleditable(int rowindex, int columnindex) { return false; public int getrowcount() { return gegenstaende.size(); public int getcolumncount() { return 3; public Object getvalueat(int row, int column) { Gegenstand g = gegenstaende.get(row); if (column == 2) return g.gebot; if (column == 1) return g.bieter; return g.gegenstand; public void setvalueat(object avalue, int rowindex, int columnindex) { return; public String getcolumnname(int i) { if (i == 2) return "Gebot"; if (i == 1) return "Bieter"; return "Gegenstand"; // Uebersicht

4. Aufgabe (12 Punkte): Navigationsübersicht über sämtliche Aktionen Start + Anf/Ende 2 Benutzergruppen (Auktionator und Kunde/Bieter) Auktionator: o 4P Gegenstände erfassen (Startgebot, Gegenstand, Beschreibung, Abbildung) o Auktion beenden (nicht Programm beenden) Auktionator Kunde/Bieter o Übersicht Aufgabe 3 o Bieter: o 3P Gegenstände auswählen (Auswahl, bietenknopf) o Bieten