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

Ähnliche Dokumente
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

Grafische Benutzeroberflächen

Institut für Informatik

Grafische Benutzeroberflächen

Swing Lernen am Code Teil 1

GUI Programmierung mit JAVA Swing

Arbeitsblatt 5 EAD II NetBeans

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

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

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Probeklausur Informatik 2 Sommersemester 2013

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

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

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

Praktikum 1: Einführung, BMI Rechner

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

Funktionale und Objekt-Orientierte Programmierkonzepte

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

Java für Computerlinguisten

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1

Benutzeroberflächen. Java Teil 4

Probeklausur: Programmierung WS04/05

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

GUI Programmierung in Java

Java Lab 2006/12/13 Client

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

NTB Druckdatum:

Objektorientierte Programmierung

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

Eclipse Tutorial.doc

Grafische Benutzeroberflächen mit Swing

Zahlenraten: Ein Spiel in Java.

11. GUI-Programmierung mit SWING Überblick

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

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

Datei auswählen und zeilenweise darstellen

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

Java I Vorlesung 11 Graphische Oberflächen mit Swing

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

Objektorientierte Software-Entwicklung

Swing :Komponenten I (Teil 2)

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

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

Graphische Benutzungsoberflächen

Dokumentation des Projektes Tic Tac Toe

2A Basistechniken: Weitere Aufgaben

04 - Actions. Actions

JTable. W. Lang HWR Berlin, SS

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

Arbeiten mit dem VBA-Makro Punkte ein- auslesen

Programmieren in Java -Eingangstest-

Ereignisse (Events) in Java

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

Swing Grundlagen. Andre Eichmann

4 Codierung nach Viginere (Lösung)

Javakurs für Anfänger

Eine Kommando-Oberfläche für.net

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

Dokumentenstrukturen

Techniken der Projektentwicklung

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

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

Einstieg in die Informatik mit Java

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik

Grundlagen der Programmierung APPLETS

PIWIN 1 Übung Blatt 5

Handbuch für die Erweiterbarkeit

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

Graphical User Interfaces

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

von Anja Austermann Drag and Drop

Grafische Benutzeroberfläche mit Glade und Python

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Probeklausur: Programmierung WS04/05

...erinnern Sie sich? oopjs4b / kwhbkd4r

Startseite. Primadenta Joomla. Unterseite

Mensch-Maschine-Interaktion

Objektorientierte Softwareentwicklung

16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz

Newsletter erstellen

Projektbezeichnung: Softwareversion vom Spiel Schiffe Versenken

Klausur Software-Entwicklung März 01

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Ausgabe:

1 Verschlüsselung nach Caesar

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

Vorstellung der Aufgabe Nonogramme

Schritt 1: Übertragung der Daten aus der LUSD in WORD

Objektorientierte Programmierung Studiengang Medieninformatik

2 Entwurf eines einfachen Telefonbuchs

(6) Verknüpfen der GUI mit dem Spiel

Ereignisbehandlung 21

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

Hannover: Lebensqualität in der Südstadt

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

Einbindung der Tastatur

Tinkerforge GUI Beginner Tutorial By M4ST3R

Transkript:

Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik, das geht relativ einfach. Hier ein grobes Gerüst dafür: package de.dhbwka.java.exercise.ui.editor; import javax.swing.jframe; public class Editor extends JFrame { } /** Konstruktor für den Editor. * Hier werden alle UI-Komponenten erzeugt */ public Editor() { /* * Hier werden auch Listener erzeugt */ // Größe setzen und Anzeigen this.setsize(640, 480); this.setdefaultcloseoperation(jframe.exit_on_close); this.setvisible(true); } /** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); } Wir halten an dieser Stelle kurz fest, dass unser Editor bereits die Klasse JFrame erweitert, also bereits ein Fenster ist, zu dem weitere GUI-Komponenten hinzugefügt werden können (this.add(component)). Im Wesentlichen soll die Oberfläche aus zwei Teilen bestehen: einer Menüleiste mit Pull-Down-Menüs einer Editor-Oberfläche inkl. Scroll-Balken Die Menüleiste müssen wir uns selbst basteln, die Editor-Oberfläche bringt Swing weitgehend fertig mit. Eine neue Menüleiste erzeugen wir mit JMenuBar. Jedes (Haupt-)Menü ( Datei, Bearbeiten ) ist ein JMenu. Jeder einzelne Menüpunkt ein JMenuItem. Die Menüauswahl soll etwa so wie auf den folgenden Seiten aussehen. Bitte beachten Sie den Menüpunkt Senden an, bei dem es sich um ein Untermenü handelt.

Senden an ist also kein JMenuItem, sondern ein JMenu und enthält seinerseits wieder JMenuItems. Die Editor-Oberfläche bringt Swing weitgehend in Form der Klasse JTextPane mit. In dieser kann man mit den Methoden settext() bzw. gettext() den Inhalt setzen bzw. auslesen. Bettet man diese JTextPane in eine JScrollPane ein, erhält man automatisch einen passenden Scrollbalken. Vorgehen: Instanz von JTextPane erstellen Instanz von JScrollPane mit dieser JTextPane als Inhalt erstellen (über den Konstruktor) JScrollPane zum Fenster hinzufügen. Hinweis: Das JScrollPane ist ein Container und enthält nun das JTextPane. Es reicht also, das JScrollPane hinzuzufügen; das darin enthaltener JTextPane wird damit ebenfalls hinzugefügt. Zum Beispiel so: JTextPane editpane = new JTextPane(); JScrollPane scrollpane = new JScrollPane(editPane); scrollpane.setverticalscrollbarpolicy(jscrollpane.vertical_scrollbar_always); frame.getcontentpane().add(scrollpane); Teilaufgaben (Gehen Sie am besten in dieser Reihenfolge vor!): 1. Legen Sie das Grundgerüst (JFrame, s.o.) an und wählen Sie einen Layoutmanager. 2. Erzeugen Sie ein Menü, das den obigen Angaben (zumindest in etwa) entspricht. Hinweis: Component- bzw. Button-Objekte (hier: comp) haben u.a. folgende Methoden: comp.setenabled(boolean); // Aktiviert oder nicht? comp.addactionlistener(actionlistener); // Instanz v. ActionListener comp.setmnemonic(int); // Tastenkürzel (char), siehe JavaDoc Evtl. rentiert es sich, eine Methode zu schreiben, über die man in einer Zeile ein neues JMenuItem erzeugen und gleichzeitig mehrere dieser Werte setzen kann. 3. Erzeugen Sie ein JEditorPane mit Scrollbalken wie oben beschrieben 4. Füllen Sie die Methode actionperformed() mit Leben und implementieren Sie folgende Funktionen: Neu leert das JEditorPane (leere Anzeige). Öffnen zeigt eine Dateiauswahlbox an und liest den Inhalt der gewählten Textdatei in den Editor ein. Der Menüpunkt Speichern ist erst aktiviert, wenn eine Datei eingelesen wurde. Wird er ausgewählt, wird der aktuelle Inhalt des Editors in diese Datei zurück geschrieben. Beenden beendet das Programm nach einer Abfrage, ob das Programm tatsächlich beendet werden soll 5. Freiwillige Aufgabe: Wer will darf sich auch an der Funktion Suchen und Ersetzen versuchen und Tastenkürzel ermöglichen.

Hinweis: Erfinden Sie das Rad nicht immer neu! Verwenden Sie zum Lesen und Schreiben der Dateien Code, den Sie bereits in anderen Übungsaufgaben entwickelt haben, wieder. Selbiges gilt für die Dateiauswahlbox und die Abfrage zum Beenden des Programms. Screenshot Menü Datei

Screenshot Menü Bearbeiten

Bereich: Grafische Benutzeroberflächen (UI), Events (2) Hütchenspiel Package: de.dhbwka.java.exercise.ui.event Klasse: ShellGame Aufgabenstellung: Schreiben Sie eine Java-Applikation, die das bekannte Hütchenspiel ( shell game ) implementiert! Beim Hütchenspiel gibt es drei Hütchen. Unter einem der Hütchen liegt eine Kugel. Der Spieler muss erraten, unter welchem Hütchen die Kugel liegt. Die drei Hütchen sollen in der Java-Applikation durch drei Buttons realisiert werden. Bei jedem Spielzug wird zufällig die Kugel unter ein Hütchen gelegt. Wurde ein Hütchen-Button angeklickt, so bekommt der Spieler in einem Textfeld angezeigt, ob er richtig geraten hat und wie viele Versuche er bisher hatte. Hat er richtig geraten wird die Anzahl der Versuche und der Name des Spielers in ein Ergebnisfile angehängt. Eine mögliche grafische Oberfläche zu diesem Hütchenspiel sieht wie folgt aus:

Der Benutzer muss folgendes über der Oberfläche tun können: Spielername eingeben Anklicken von drei Buttons, die die Hütchen realisieren. Nach jedem Spielzug (Aufdecken eines Hütchens) wird die Kugel zufällig unter einem Hütchen verteilt. Verwenden Sie dazu z.b. eine zufällige erzeugte Integerzahl zwischen 1 und 3! Ein Button zum Beenden der Applikation. Im Ausgabefeld muss stehen: Wie viele Versuche bisher gemacht wurden. Ob das richtige Hütchen getippt wurde oder nicht. Wurde richtig getippt muss an eine Ergebnisdatei der Name des Spielers und die Anzahl der Versuche angehängt werden. Zusatzaufgabe: Erweitern Sie die Applikation um einen Button Statistik. Bei Anklicken des Buttons soll das Ergebnisfile gelesen werden. Aus dem Ergebnisfile soll der Durchschnitt der bisherigen Versuche ermittelt und ins Ausgabefeld ausgegeben werden.