Benutzeroberflächen. Java Teil 4



Ähnliche Dokumente
GUI Programmierung mit JAVA Swing

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

Java: Vererbung. Teil 3: super()

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Objektorientierte Programmierung

Grafische Benutzeroberflächen mit Swing

GRAFISCHE BENUTZERSCHNITTSTELLEN

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

Programmieren in Java

Objektorientierte Software-Entwicklung

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Einführung in GUI-Programmierung. javax.swing

Graphische Benutzungsoberflächen

Javakurs für Fortgeschrittene

2A Basistechniken: Weitere Aufgaben

Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

Java Lab 2006/12/13 Client

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Microsoft Windows 7 und Mozilla Firefox

Abb. 1. Abb. 2. Schaltflächen Speichern und Bericht öffnen. Abb. 3.

Grafische Benutzeroberfläche mit Glade und Python

Grundlagen der Programmierung APPLETS

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zum GUI Version 2.x

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

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

GUI Programmierung in Java

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

teischl.com Software Design & Services e.u. office@teischl.com

Abb. 1. Abb. 2.

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Kurzanleitung Wireless Studenten (Windows 8) BGS - Bildungszentrum Gesundheit und Soziales Gürtelstrasse 42/ Chur

Installation OMNIKEY 3121 USB


Family Safety (Kinderschutz) einrichten unter Windows 8

GE Capital Direkt. So eröffnen Sie Ihr Festgeld-Konto. Fragen zum Festgeld?

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Installation älterer Programmversionen unter Windows 7

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Java Projekt: Tic Tac Toe + GUI

Übung: Verwendung von Java-Threads

Standard Daten-Backup-Script

Einstieg in die Informatik mit Java

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

TempusCapio Erste Schritte

Lehrer: Einschreibemethoden

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

inviu routes Installation und Erstellung einer ENAiKOON id

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

Argelander Institut für Astronomie. Persönliche Website

mmone Internet Installation Windows XP

Verbinden. der Firma

Aktivierung von Makros in den Erfassungshilfen

Dokumentation des Projektes Tic Tac Toe

Anleitung Zugang Studenten zum BGS-Netzwerk Drucker und WLAN (Windows 7) BGS - Bildungszentrum Gesundheit und Soziales Gürtelstrasse 42/44.

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

System-Update Addendum

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Stand: Adressnummern ändern Modulbeschreibung

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

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

fãéçêíáéêéå=éáåéë=`äáéåíjwéêíáñáâ~íë= áå=çéå=_êçïëéê=

Handbuch. Adressen und Adressenpflege

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Hilfedatei der Oden$-Börse Stand Juni 2014

ClubWebMan Veranstaltungskalender

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Anleitungen für User der Seite TSV AustriAlpin Fulpmes. So erstellen Sie einen Bericht (Beitrag) auf der TSV-AustriAlpin Fulpmes Homepage.

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

M-net -Adressen einrichten - Apple iphone

BFV Widget Kurzdokumentation

Internet Explorer Version 6

Prinzipien Objektorientierter Programmierung

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628. Eine neue ISDN-Verbindung unter Windows XP einrichten

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Handout Wegweiser zur GECO Zertifizierung

Modul Bildergalerie Informationen zum Bearbeiten des CMS-Systems für den SV Oberteisendorf

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

Einführung in das redaktionelle Arbeiten mit Typo3 Schulung am 15. und

Family Safety (Kinderschutz) einrichten unter Windows 7

BSV Software Support Mobile Portal (SMP) Stand

CALCOO Lite. Inhalt. 1. Projekt anlegen / öffnen. 2. Projekt von CALCOO App importieren

SharePoint Workspace 2010 Installieren & Konfigurieren

Mediator 9 - Lernprogramm

Inhaltsverzeichnis Seite

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Installationsanleitung. Lohn Manager 9.5

VB.net Programmierung und Beispielprogramm für GSV

GeoPilot (Android) die App

Transkript:

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 der Breite die auf Zeichen basierenden Schnittstellen (Command Line Interface) abgelöst. Die Elemente einer grafischen Benutzeroberfläche reagieren auf Ereignisse, z. B. auf einen Mausklick. Das Konzept der GUIs wurde 1970 entworfen. Einen großen Anwenderkreis erreichte das Konzept 1983 mit dem Apple Lisa. 1985 wurde eine erste grafische Benutzerschnittstelle von Microsoft (Windows 1.03) auf den Markt gebracht. Die Anforderungen an GUIs sind genormt nach EN ISO 9241. 2

Anforderungen Nach EN ISO 9241 muss eine grafische Benutzerschnittstelle folgende Merkmale aufweisen: Sie muss der Aufgabe angemessen sein. Sie muss selbstbeschreibend sein. Sie muss individualisierbar sein. Sie muss lernförderlich sein. Sie muss steuerbar sein. Sie muss fehlertolerant sein. Die GUI hat die Aufgabe, Anwendersoftware mit Hilfe von Steuerelementen (Widgets) bedienbar zu machen. 3

Bibliotheken Java kennt für grafische Benutzerschnittstellen verschiedene Bibliotheken. Zu diesen Bibliotheken gehören: AWT - Abstract Window Toolkit Swing - Standard Widget Toolkit - Entwicklung von Sun - enthält das AWT SWT - Entwicklung von IBM für Eclipse, basierend auf Swing GWT - Google Web Toolkit GTK+ - GIMP Toolkit 4

Programmierung Die Programmierung einer grafischen Benutzeroberfläche kann auf zwei Wegen erfolgen: manuell (alle Eigenschaften der grafischen Oberflächen werden manuell programmiert) automatisiert (das Anlegen grafischer Objekte und ihrer Eigenschaften erfolgt über Drag & Drop mittels einer geeigneten IDE) Am Beispiel der folgenden Aufgabenstellung sollen beide Varianten vorgestellt werden: Eine grafische Benutzeroberfläche soll aus einem Fenster mit der Überschrift "Umrechnung" bestehen. Im Fenster soll in ein Textfeld eine Temperatur in C eingetragen werden. In einem zweiten Textfeld soll der umgerechnete Wert angezeigt werden. Durch Klicken auf einen Button soll die Umrechnung der Temperatur in Grad Fahrenheit durchgeführt werden und die Ausgabe in das zweite Textfeld erfolgen. Die grafische Oberfläche soll als Swing - Oberfläche programmiert werden. Eine Behandlung möglicher Fehler soll noch nicht erfolgen. Die Umrechnung von C in F erfolgt mittels der Gleichung F = C * 1,8 + 32. 5

Programmierung Variante 1: Manuelle Programmierung einer Swing - Oberfläche Schritt 1: Anlegen einer Klasse, die von der Klasse JFrame abgeleitet ist import javax.swing.jframe; public class WindowForm extends JFrame In dieser Klasse sollen die Eigenschaften der zukünftigen Benutzeroberfläche abgelegt werden. 6

Programmierung Schritt 2: Deklarierung der benötigten grafischen Objekte import javax.swing.jframe; import javax.swing.jbutton; import javax.swing.jtextfield; public class WindowForm extends JFrame JTextField jtextfield_tempgc, jtextfield_tempgf; JButton jbutton_umrechnen; 7

Programmierung Schritt 3: Programmierung einer Methode, in der die Objekte instanziert und positioniert werden public class WindowForm extends JFrame private void init() //Instanzierung der Objekte jtextfield_tempgc = new JTextField(); jtextfield_tempgf = new JTextField(); //Instanzierung des Buttons einschließlich der Beschriftung jbutton_umrechnen = new JButton("Umrechnung"); //Positionierung und Größe festlegen jtextfield_tempgc.setbounds(10, 10, 200, 25); jtextfield_tempgf.setbounds(10, 40, 200, 25); jbutton_umrechnen.setbounds(10, 70, 200, 25); //Anmelden am Fenster this.getcontentpane().add(jtextfield_tempgc); this.getcontentpane().add(jtextfield_tempgf); this.getcontentpane().add(jbutton_umrechnen); //Anpassen der Fenstergröße an den zur Darstellung erforderlichen Platz this.pack(); 8

Programmierung Schritt 4: Standardkonstruktor ändern - Layout festlegen und Fenster aufrufen (durch init()) public class WindowForm extends JFrame... public WindowForm() this.getcontentpane().setlayout(null); this.init(); 9

Programmierung Schritt 5: Anlegen einer ausführbaren Klasse und Instanzierung der Fensterklasse package gui; import javax.swing.jframe; public class GUI_1 extends JFrame public static void main(string[] args) // Deklarierung und Instantierung der "Fensterklasse" WindowForm mywindow = new WindowForm(); //notwendig um Fenster und Programm zu schließen (nur bei Swing) mywindow.setdefaultcloseoperation(exit_on_close); //Festlegung der Fensterposition und Fenstergröße mywindow.setbounds(100, 100, 235, 150); mywindow.settitle("umrechnung"); //Ausschalten der Größenänderungsfunktion mywindow.setresizable(false); //Anzeigen des Fensters mywindow.setvisible(true); 10

Programmierung Schritt 6: Programm simulieren Die Klasse GUI_1 wird simuliert um die Darstellung des Fensters zu testen. 11

Programmierung Schritt 7: Programmcode generieren, der den Button auf Anklicken reagieren lässt Damit der Button auf das Anklicken reagieren kann muss erkannt werden, ob der Button überhaupt angeklickt wurde. Diese Prüfung geschieht hier durch die Abfrage der "ActionCommand - Eigenschaft". Durch Anklicken des Buttons wird eine Zeichenkette "umrechnen" geliefert, dadurch werden die Anweisungen innerhalb des if - Funktionsblocks ausgeführt. if(jbutton_umrechnen.getactioncommand().equals("umrechnen")) //TODO Anweisungen, die nach dem Anklicken ausgeführt werden sollen Die Kommandozeichenkette wird dem Button über die Anweisungszeile jbutton_umrechnen.setactioncommand("umrechnen"); zugewiesen. Nun muss der Button nur noch für den ActionListener registriert werden. Dies geschieht durch die Anweisungszeile jbutton_umrechnen.addactionlistener(new Actionlauscher());. 12

Programmierung Schritt 8: Programmcode generieren, der die Temperaturumrechnung ausführt Notwendiger Ablauf: Abfrage des Inhaltes des Textfeldes jtextfield_tempgc Berechnung Übergabe an das Textfeld jtextfield_tempgf Für die Berechnung werden zwei double-variablen benötigt. Diese werden am Anfang der Klasse WindowForm deklariert. if(jbutton_umrechnen.getactioncommand().equals("umrechnen")) //Abfrage des Textfeldinhaltes und Übergabe an Rechenvariable tempgc = Double.parseDouble(jtextfield_tempGC.getText()); //Berechnung tempgf = (tempgc * 1.8) + 32; //Übergabe an das Ausgabetextfeld jtextfield_tempgf.settext(tempgf + " F"); 13

Quelltexte Klasse WindowForm package gui; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jtextfield; public class WindowForm extends JFrame private static final long serialversionuid = 1L; JTextField jtextfield_tempgc, jtextfield_tempgf; JButton jbutton_umrechnen; 14

Quelltexte Klasse WindowForm private void init() //Instanzierung der Objekte jtextfield_tempgc = new JTextField(); jtextfield_tempgf = new JTextField(); //Instanzierung des Buttons einschließlich der Beschriftung jbutton_umrechnen = new JButton("Umrechnung"); //Positionierung und Größe festlegen jtextfield_tempgc.setbounds(10, 10, 200, 25); jtextfield_tempgf.setbounds(10, 40, 200, 25); jbutton_umrechnen.setbounds(10, 70, 200, 25); //Anmelden am Fenster this.getcontentpane().add(jtextfield_tempgc); this.getcontentpane().add(jtextfield_tempgf); this.getcontentpane().add(jbutton_umrechnen); //Anpassen der Fenstergröße an den zur Darstellung erforderlichen Platz this.pack(); //Festlegen eines Erkennungsstrings für das Anklicken des Buttons jbutton_umrechnen.setactioncommand("umrechnen"); //Anmelden am Actionlistener jbutton_umrechnen.addactionlistener(new Actionlauscher()); 15

Quelltexte Klasse WindowForm public WindowForm() this.getcontentpane().setlayout(null); this.init(); class Actionlauscher implements ActionListener @Override public voidactionperformed(actionevent arg0) // TODO Auto-generated method stub if(jbutton_umrechnen.getactioncommand().equals("umrechnen")) //Abfrage des Textfeldinhaltes und Übergabe an Rechenvariable tempgc = Double.parseDouble(jtextfield_tempGC.getText()); tempgf = (tempgc * 1.8) + 32; //Berechnung //Übergabe an das Ausgabetextfeld jtextfield_tempgf.settext(tempgf + " F"); //end of class ActionLauscher //end of class WindowForm 16

Quelltexte Klasse GUI_1 package gui; import javax.swing.jframe; public class GUI_1 extends JFrame private static final long serialversionuid = 1L; public static void main(string[] args) // Deklarierung und Instantierung der "Formatierungsklasse" WindowForm mywindow = new WindowForm(); mywindow.setdefaultcloseoperation(exit_on_close); //Festlegung der Fensterposition und Fenstergröße mywindow.setbounds(100, 100, 235, 150); mywindow.settitle("umrechnung"); //Ausschalten der Größenänderungsfunktion mywindow.setresizable(false); //Anzeigen des Fensters mywindow.setvisible(true); //end of main //end of class 17

Beispielfenster Schlussbemerkungen: Auf die Möglichkeit der Eingabe falscher Werte wird noch nicht reagiert. Die Ergebnisausgabe ist noch nicht formatiert. 18