Graphische Programmierung: GUIs: graphical user interfaces
|
|
- Christina Wetzel
- vor 8 Jahren
- Abrufe
Transkript
1 Graphische Programmierung: GUIs: graphical user interfaces Ziel: Java -Programmierung und Handhabung von graphischen Benutzeroberflächen (in Applets) mehrere Fenster Fenster-Eigenschaften: aktiv oder inaktiv im Hintergrund oder im Vordergrund parallele Verwendung verschiedener Eingabekanäle: Tastatur Maus mit i.a. 3 Tasten, Touchscreen, Joystick,... P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 1
2 GUIs: graphical user interfaces Graphische Elemente: Fenster mit Schiebeleisten, waagrechte/senkrechte Menüs, Radioknöpfe, Symbole zum Anklicken (Icons), Textfelder P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 2
3 GUI: Bemerkungen Große Akzeptanz der GUIs: intuitive Bedienbarkeit Schnelleres Verständnis, orientiert an der menschlichen Wahrnehmung Schnelle Rechner/ Graphikkarte: Realzeitgefühl P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 3
4 Programmierung, Ereignissteuerung Problem der Programmierung: Anwendungsprogramme müssen mit einer Vielzahl von Interaktionen/ Eingabemöglichkeiten umgehen können Man muss mit allem rechnen und auf jedes relevante Ereignis eine sinnvolle Aktion starten. Beispiel Markierung eines Textstückes im Textverarbeitungsprogramm P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 4
5 Programmierung, Ereignissteuerung Interne Methode der Mitteilung der Ereignisse Strom von Ereignissen erzeugt vom Benutzer über die Eingabekanäle verändert bzw. gefiltert vom Betriebssystem / GUI-System I.a. in zeitlichen Reihenfolge des Auftretens P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 5
6 Graphische Zeichenfläche graphischer, farbiger Bildschirm, mit ca X 1000 Bildpunkte (Pixel) Pixel-Koordinatensystem (x,y). (0,0) ist links oben. Eingabekanäle: Tastatur: Zeiger-Position und Tasteneingabe Maus: Position, Click; Art des Clicks P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 6
7 Vordefinierte Fenstertypen und graphische Elemente Oberste Klasse ist Component Unterklassen sind: Button Canvas Checkbox Choice Container Label List Scrollbar Textcomponent Ein Knopf zum Anklicken. Ein Zeichenfläche. Ein Text und ein Kästchen zum Ankreuzen. Ein Auswahlmenü mit Kurztexten. abstrakte Klasse, mit der hierarchisch ein Fenster in Unterfenster gegliedert werden kann. Unterklassen von Container: Panel Fenster ohne Rahmen Window mit Unterklassen Frame, Dialog Textanzeigefeld Senkrechte, anklickbare Menüleiste Schiebeleiste Textanzeige P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 7
8 Applets Applet ist Unterklasse von Panel Panel-Methoden stehen einem Applet somit zur Verfügung P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 8
9 Component - Methoden. Beispiele Layout Steuerung der Verteilung von Subkomponenten: Je nach Layout Spezifikation mittels der entsprechenden Klasse: Borderlayout North, South, Center, East, West GridLayout(...) Komponenten matrixartig FlowLayout von oben nach unten. CardLayout Kartenstapel Die Klasse Container hat die Methode add zum Hinzufügen von Komponenten. P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 9
10 Component - Methoden. Beispiele Größe und Position können ermittelt und verändert werden. bounds(), inside(), location(), move(), size(),... Farbe des Hintergrunds, Vordergrunds: getbackground(), setforeground(),.... Ereignisse Ermitteln und Handhabung der Ereignisse mouseup(), handleevent(), postevent(),... Zeichnen innerhalb der Komponente, Neuzeichnen des Bildes. paint(), repaint(), update() Status Feststellen, ob Komponente aktiv, usw. Bei Definition einer Unterklasse können bzw. müssen bestimmte Methoden in diesen Klasse überschrieben werden. P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 10
11 Bemerkungen In Ereignismodell 1.0: Ereignisse, werden in der Objekthierarchie von unten nach oben durchgereicht, bis handleevent dieses Ereignis einfängt. Programmierhinweise: Das im Fenster sichtbare Bild möglichst vollständig in Datenstrukturen ablegen, damit das sichtbare Bild rekonstruierbar ist P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 11
12 Beispiel: Einfaches Zeichnen (Ereignismodell 1.0) Zeichenfläche: Strecken, Rechteck und Ellipsen zeichnen. // veraenderte Version eines JDK Beispiels // (alte Version der Ereignissteuerung) import java.awt.*; import java.applet.*; import java.util.vector; public class DrawTestRechteck extends Applet { public void init() { P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 12
13 setlayout(new BorderLayout()); DrawPanel dp = new DrawPanel(); add("center", dp); add("south", new SKWahl(dp)); dp.init(); public boolean handleevent(event e) { switch (e.id) { case Event.WINDOW_DESTROY: System.exit(0); return true; default: return false; public static void main(string args[]) { Frame f = new Frame("DrawTest");
14 System.out.println("Main laeuft"); DrawTestRechteck drawtest = new DrawTestRechteck(); drawtest.init(); drawtest.start(); f.add("center", drawtest); f.resize(300, 300); f.show(); class DrawPanel extends Panel { Vector lines = new Vector(); Vector streckeoderkreis = new Vector(); int x1,y1; boolean ziehen; int strecke; // 0 = strecke, 1 = kreis, 2 = Rechteck int x2,y2;
15 public void init() { ziehen = false; strecke = 0; public DrawPanel() { setbackground(color.white); public void setstrecke() { strecke = 0; public void setrechteck() { strecke = 2; public void setkreis() { strecke = 1;
16 public boolean handleevent(event e) { switch (e.id) { case Event.MOUSE_DOWN: x1 = x2 = e.x; y1 = y2 = e.y; ziehen = true; return true; case Event.MOUSE_UP: lines.addelement(new Rectangle(x1, y1, e.x, e.y)); // leichter Missbrauch von rectangle streckeoderkreis.addelement(new Rectangle(strecke,0,0,0)); ziehen = false; repaint(); return true; case Event.MOUSE_DRAG: x2 = e.x; y2 = e.y; repaint(); return true;
17 case Event.WINDOW_DESTROY: System.exit(0); return true; default: return false; public void paint(graphics g) { int np = lines.size(); int streckei; /* Zeichne alle Strecken und Ellipsen */ for (int i=0; i < np; i++) { Rectangle streckeip = (Rectangle)streckeOderKreis.elementAt(i); streckei = streckeip.x; Rectangle p = (Rectangle)lines.elementAt(i); if (streckei == 0)
18 g.drawline(p.x, p.y, p.width, p.height); else { if (streckei == 1) { if (p.height > p.y) g.drawoval(p.x, p.y, p.width-p.x, p.height-p.y); else g.drawoval(p.x, p.height, p.width-p.x, p.y-p.height); else if (streckei == 2) { if (p.height > p.y) g.drawrect(p.x, p.y, p.width-p.x, p.height-p.y); else g.drawrect(p.x, p.height, p.width-p.x, p.y-p.height); if (ziehen) {
19 if (strecke == 0) {g.drawline(x1, y1, x2, y2); else { if (strecke == 1) { if (y2 > y1) g.drawoval(x1,y1,x2-x1,y2-y1); else g.drawoval(x1,y2,x2-x1,y1-y2); else { if (y2 > y1) g.drawrect(x1, y1, x2-x1, y2-y1); else g.drawrect(x1, y2, x2-x1, y1-y2);
20 class SKWahl extends Panel { DrawPanel target; public SKWahl(DrawPanel target) { this.target = target; setlayout(new FlowLayout()); Choice SoderK = new Choice(); SoderK.addItem("Strecke"); SoderK.addItem("Ellipse"); SoderK.addItem("Rechteck"); SoderK.setBackground(Color.lightGray); add(soderk); public void paint(graphics g) { Rectangle r = bounds(); g.setcolor(color.lightgray);
21 g.draw3drect(0, 0, r.width, r.height, false); public boolean action(event e, Object arg) { if (e.target instanceof Choice) { String choice = (String)arg; if (choice.equals("strecke")) { target.setstrecke(); else if (choice.equals("ellipse")) { target.setkreis(); else if (choice.equals("rechteck")) { target.setrechteck(); return true;
22 Ereignissteuerung nach dem Java Ereignis-Modell 1.1 Andere Modellvorstellung und Durchreichen der Ereignisse Modell 1.1- Strukturierung: Ein Ereignis tritt bei einem Objekt auf (z.b. Button, Menü,... ) Dieses Ereignis wird in ein Ereignisobjekt verpackt und an einen Beobachter gesendet (Listener) Dieser Beobachter (Methode) enthält die Programmierung, wie nach Eintreten dieses Ereignisses zu verfahren ist. Swing: sehr ähnlich, aber andere Namen der Klassen: JLabel statt Label. P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 22
23 Ereignissteuerung zu 1.1 Programmierung: Registrierung der Listener an der Ereignis-Quelle Für jedes Ereignis eine eigene Methode. Vorteil: optimierte und gezielte Verteilung der Ereignisse. (Im Modell 1.0: Gießkannenprinzip) P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 23
24 Ereignissteuerung zu 1.1, Adapterklassen Adapterklassen: Zur Erleichterung der Programmierung Sind abstrakte Klassen, alle Methoden zur Ereignisbehandlung sind (leer) implementiert. Listener sind Unterklassen der Adapterklasse nur notwendigen Methoden werden überschrieben Im Beispiel anonyme Klasse mit new MouseAdapter () entsprechende Methode wird überschrieben P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 24
25 Beispiel zu 1.1-Ereignissteuerung import java.awt.*; import java.awt.event.*; import java.applet.*; public class KlickKlack extends Applet { Button klickbutton = new Button("KlickKlack"); boolean geklickt = true; Color klick = new Color(255,255,0); Color klack = new Color(0,0,255); public void init() { add(klickbutton); klickbutton.addmouselistener( new MouseAdapter () { P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 25
26 public void mouseclicked(mouseevent e) { Graphics g = getgraphics(); if (geklickt) g.setcolor(klick); else g.setcolor(klack); g.filloval(0,0,200,200); // das original war g.filloval(0,0,getwidth,getheight); geklickt =!geklickt; );
27 Kritikpunkte an der objektorientierten Programmierung ( Artikel von M. Broy, Informatik Spektrum, Februar 2002) Einige Kritikpunkte: OO-Sprachen kennen keine Komposition von Klassen Das OO-Ausführungsmodell ist sequentiell Die Objektorientierung sagt uns nicht, wie wir das Verhalten von Schnittstellen definieren sollen Gemeint: Methodenaufruf und dessen operationale Semantik P raktische Informatik 2, SS 2005, F olien Java;4, (4. Mai2005) Seite 27
28 Vererbung verletzt das Geheimnisprinzip Letzlich gibt es nur eine einzige, syntaktische Annahme: (die Unterklasse) hat mindestens dieselben Attribute und Methoden wie die Oberklasse Kritik an der Wiederverwendbarkeit (sinngemäß:) neue Projekte werden sich i.a. eine eigene Klassenhierarchie schaffen, nicht auf eine bereits vorhandene Klassenhierarchie aufbauen. Multiple Dispatching fehlt. Das bezog sich auf Java In Java 5 gibt es durch Argumenttypen überladene Klassen, somit ist diese Kritik nicht mehr stichhaltig.
29 statische Analyse der Fernwirkung von Methodenaufrufen ist so gut wie unmöglich
Graphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrZentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine
MehrApplets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.
Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung
MehrGUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
MehrZiel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java
GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
MehrJava Projekt: Tic Tac Toe + GUI
Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel
MehrGUI Programmierung in Java
vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
MehrHochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
MehrJava I Vorlesung 11 Graphische Oberflächen mit Swing
Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java
MehrGrafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung
Grafikausgabe mit dem Abstract- Windowing-Toolkit Eine Einführung Inhalt Einführung Grundlegende Eigenschaften des Abstract-Windowing- Toolkit (AWT) Grundlagen Grafikausgabe Linien zeichnen Rechtecke zeichnen
MehrGRAFISCHE BENUTZERSCHNITTSTELLEN
Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind
MehrNTB Druckdatum: 01.04.13 -
AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrEinstieg in die Informatik mit Java
1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet
MehrAbschnitt 12: Strukturierung von Java-Programmen: Packages
Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung
MehrAK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben
MehrGraphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
MehrJava Game Development Fabian Birzele Programmierpraktikum 2008 / 2009
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009 Fabian Birzele, LMU Institut für Informatik, Lehrstuhl für Praktische Informatik und Bioinformatik, 2008: Programmierpraktikum 1 Ziele
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrEinbindung der Tastatur
Einbindung der Tastatur Auch die Tastatur kann man wie die Maus zur interaktiven Programmsteuerung verwenden. Bei der Maus ist stets klar, welche grafische Komponente bei einem Klick oder einer Bewegung
MehrGrundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrSchritt 1 - Ein Spielfeld
Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1
Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrSwing Lernen am Code Teil 1
Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrDokumentation des Projektes Tic Tac Toe
Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrInteraktive Elemente, GUI-Programmierung
Softwaretechnik für IM, WS2015/2016 http://knopper.net/bw/swt/ Übung 4 Interaktive Elemente, GUI-Programmierung 1. Schreiben Sie ein Programm (wahlweise als Applet oder Applikation, oder beides), das die
MehrErweiterungen Webportal
Erweiterungen Webportal Adress-Suche Inaktive Merkmale und gelöschte Adresse Die Suche im Webportal wurde so erweitert, dass inaktive Adresse (gelöscht) und inaktive Merkmale bei der Suche standardmässig
MehrIst eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt
GUI GUI = Graphical User Interface Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt Gute Übersicht über alle Funktionalitäten
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrGrafische Benutzeroberflächen mit Swing
Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,
MehrGUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik
GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in
MehrTutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane
Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrHinweise zum Übungsblatt Formatierung von Text:
Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger
Mehrways2gether ipad App Guide
1 ways2gether ios App Guide ways2gether ipad App Guide Dieses Dokument beschreibt den Umgang mit der Augmented Reality App, die im Projekt ways2gether entstanden ist. Voraussetzungen: ipad 2 oder 3 mit
MehrEreignisse (Events) in Java
Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird
MehrÜbungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrAbschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrJetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE22-NutzungVonKlassen (Stand 28.09.2012) Aufgabe 1: Entwickeln Sie in Eclipse auf der Basis der vorgestellten Java-GUI-Klassen ein Java- Programm, das
MehrIn dem unterem Feld können Sie Ihre E-Mail eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt.
Wyhdata Hilfe Login: www.n-21online.de (Login Formular) Ihr Login-Name: Hier tragen Sie Redak1 bis Redak6 ein, der Chefredakteur bekommt ein eigenes Login. Ihr Passwort: Eine Zahlenkombination, die vom
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrInstitut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke
GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java
MehrBenutzeroberflächen. Java Teil 4
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
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrSwing :Komponenten I (Teil 2)
l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrProfessionelle Seminare im Bereich MS-Office
Gegenüber PowerPoint 2003 hat sich in PowerPoint 2007 gerade im Bereich der Master einiges geändert. Auf Handzettelmaster und Notizenmaster gehe ich in diesen Ausführungen nicht ein, die sind recht einfach
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrSuchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6 Aufgabe 1: Pareto mit SV-Semantik Suchmaschinen Pareto Definition: x < P
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrJ.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1
GUI-Programmierung in Java GUI-Programmierung in in Java 2002 Prof Dr Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: : Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrVermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D
Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D 1 1. EINLEITUNG... 3 2. ZWECK... 3 3. MOTIVATION... 3 4. ANWENDBARKEIT... 6 5. STRUKTUR... 6 6. TEILNEHMER... 7 7. INTERAKTION...
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrEreignisverwaltung und Layout-Typen
Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Ereignisverwaltung
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger
Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90 Minuten.
Mehr11. GUI-Programmierung mit SWING Überblick
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
MehrBedienung des Web-Portales der Sportbergbetriebe
Bedienung des Web-Portales der Sportbergbetriebe Allgemein Über dieses Web-Portal, können sich Tourismusbetriebe via Internet präsentieren, wobei jeder Betrieb seine Daten zu 100% selbst warten kann. Anfragen
Mehrpublic class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
MehrAbwesenheitsnotiz im Exchange Server 2010
Abwesenheitsnotiz im Exchange Server 2010 1.) Richten Sie die Abwesenheitsnotiz in Outlook 2010 ein und definieren Sie, an welche Absender diese gesendet werden soll. Klicken Sie dazu auf Datei -> Informationen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrAnwendertreffen 20./21. Juni
Anwendertreffen Verbindungsmittelachsen VBA Allgemein Die Verbindungsmittelachsen werden nun langsam erwachsen. Nach zwei Jahren Einführungszeit haben wir bereits viele Rückmeldungen mit Ergänzungswünschen
MehrTESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!
9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrIntegrated Services Realtime Remote Network
Integrated Services Realtime Remote Network How to CEyeClon Viewer V2 HT-A-003-V2-DE-2013-02-17-TZ-TZ CEyeClon AG Reitschulstrasse 5 2502 Biel / Bienne info@ceyeclon.com www.ceyeclon.com CEyeClon AG, Biel
Mehr