11. GUI-Programmierung mit SWING Überblick



Ähnliche Dokumente
GUI Programmierung mit JAVA Swing

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Swing Lernen am Code Teil 1

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

Einstieg in die Informatik mit Java

Arrays Fortgeschrittene Verwendung

Institut für Informatik

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Objektorientierte Software-Entwicklung

Java Projekt: Tic Tac Toe + GUI

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

Objektorientierte Softwareentwicklung

public class SternchenRechteckGefuellt {

GUI Programmierung in Java

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

...erinnern Sie sich? oopjs4b / kwhbkd4r

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

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

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

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

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

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

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

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

Java Einführung Abstrakte Klassen und Interfaces

II.4.2 Abstrakte Klassen und Interfaces - 1 -

04 - Actions. Actions

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

Objektorientierte Programmierung

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

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

Grafische Benutzeroberflächen mit Swing

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

Java: Vererbung. Teil 3: super()

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

Drucken soll nur das Panel, nicht der ganze Rahmen gedruckt werden.

Objektorientierte Programmierung

Funktionale und Objekt-Orientierte Programmierkonzepte

Vorkurs Informatik WiSe 15/16

Factory Method (Virtual Constructor)

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Java I Vorlesung 11 Graphische Oberflächen mit Swing

NTB Druckdatum:

Grundlagen der Programmierung APPLETS

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

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Probeklausur: Programmierung WS04/05

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Einführung in die Programmierung für Wirtschaftsinformatik

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

1 Polymorphie (Vielgestaltigkeit)

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Objektorientiertes Programmieren. Übungsblatt 5

Java-Schulung Grundlagen

Einführung in die Programmierung

Universität Karlsruhe (TH)

GRAFISCHE BENUTZERSCHNITTSTELLEN

Programmiertechnik GUI Programmierung mit Java Swing

10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java)

Swing Grundlagen. Andre Eichmann

Javakurs für Fortgeschrittene

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

C# im Vergleich zu Java

Algorithmen und Datenstrukturen

Swing :Komponenten I (Teil 2)

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Grafische Benutzeroberflächen

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Java Einführung Collections

Informatik II Übung 06. Benjamin Hepp 5 April 2017

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

Grafische Benutzeroberflächen

Graphische Benutzungsoberflächen

Typumwandlungen bei Referenztypen

Programmieren 2 Java Überblick

Einführung in GUI-Programmierung. javax.swing

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

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Transkript:

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 Komponenten Prof. Dr. Björn Dreher Liste Programmieren - Java 566 11. GUI-Programmierung mit SWING Überblick: 11.5. Dialoge Prof. Dr. Björn Dreher Liste Programmieren - Java 567

Definition von JMenu und JMenuItem JMenuBar Die gesamte Menüzeile JMenuBar menubar = new JMenuBar(); // sets menu bar setjmenubar(menubar); // Methode von JFrame JMenu Oberste Ebene der Menüzeile JMenu menuspiel = new JMenu(); menuspiel.settext("spiel"); menubar.add(menuspiel); Prof. Dr. Björn Dreher Liste Programmieren - Java 568 Definition von JMenu und JMenuItem JMenuItem Untermenüpunkt JMenuItem neuesspiel = new JMenuItem(); JMenuItem neuesspieldialog = new JMenuItem(); neuesspiel.settext("neues Spiel"); neuesspieldialog.settext("neues Spiel Dialog"); menuspiel.add(neuesspiel); menuspiel.add(neuesspieldialog); ActionListener für ein Menuitem neuesspiel.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { neuesspiel(e); ); Prof. Dr. Björn Dreher Liste Programmieren - Java 569

11. GUI-Programmierung mit SWING Überblick: 11.5. Dialoge Prof. Dr. Björn Dreher Liste Programmieren - Java 570 Einer der eigentlichen Actionlistener von JMenuItem Dialog durch statische Methoden von JOptionPane // Hole Parameter eines neuen Spiels über mehrere Option Panes public void neuesspiel(actionevent e) { String [] spielername = new String[4]; Object[] possiblevalues = { "1", "2", "3", "4" ; Object selectedvalue = JOptionPane.showInputDialog (null, "Bitte wählen", "Anzahl der Spieler", JOptionPane.INFORMATION_MESSAGE, null, possiblevalues, possiblevalues[3]); if (selectedvalue instanceof String) int anzahlspieler = new Integer((String) selectedvalue).intvalue(); for (int i = 0; i < anzahlspieler; i++) { spielername[i] = JOptionPane.showInputDialog("Name des " + (i+1) + ". Spielers"); model.neuesspiel(anzahlspieler, spielername); Prof. Dr. Björn Dreher Liste Programmieren - Java 571

11. GUI-Programmierung mit SWING Überblick: 11.5. Dialoge Prof. Dr. Björn Dreher Liste Programmieren - Java 572 Andere Version des eigentlichen Actionlisteners von JMenuItem Ein JDialog Fenster // Hole Parameter eines neuen Spiels über Dialog public void neuesspieldialog(actionevent e) { InitDialog d = new InitDialog(this, true); d.setlocationrelativeto(this); d.setvisible(true); // ruft show() auf // JDialog-Fenster öffnet sich. // Methode wartet, bis JDialog geschlossen wird. // JDialog wurde geschlossen. int a = d.gibanzahlspieler(); String [] namen = new String[4]; d.gibspielernamen(namen); model.neuesspiel(a, namen) Prof. Dr. Björn Dreher Liste Programmieren - Java 573

Das JDialog Fenster public class InitDialog extends JDialog { /* Creates new form JDialog */ public InitDialog(Frame parent, boolean modal) { super(parent, modal); initgui(); private void initgui() { addwindowlistener( new java.awt.event.windowadapter() { public void windowclosing(java.awt.event.windowevent evt) { closedialog(evt); ); pack(); settitle("spieler definieren"); getcontentpane().setlayout(new java.awt.gridbaglayout()); // Add Swing Components Prof. Dr. Björn Dreher Liste Programmieren - Java 574 Das JDialog Fenster (fortgesetzt) this.setsize(400, 300); setmodal(true); setresizable(false); buttonok.addactionlistener(new ActionListener(){ public void actionperformed(actionevent e) { okactionperformed(e);); buttonabbruch.addactionlistener(new ActionListener(){ public void actionperformed(actionevent e){ abbruchactionperformed(e);); /** Closes the dialog */ private void closedialog(windowevent evt) { setvisible(false); public int gibanzahlspieler() { return anzahlspieler; Prof. Dr. Björn Dreher Liste Programmieren - Java 575

Das JDialog Fenster (fortgesetzt) public void gibspielernamen(string [] namen) { for (int i = 0; i < anzahlspieler; i++) namen[i] = this.namen[i]; public void okactionperformed(actionevent e) { anzahlspieler = (new Integer(textFieldAnzahl.getText())).intValue(); namen[0] = textfieldspieler1.gettext(); namen[1] = textfieldspieler2.gettext(); namen[2] = textfieldspieler2.gettext(); namen[3] = textfieldspieler3.gettext(); Verbirgt Dialog, hide(); veranlasst, dass show() fortsetzt. public void abbruchactionperformed(actionevent e) { hide(); Prof. Dr. Björn Dreher Liste Programmieren - Java 576