84 Wie kann ich einfache Strukturen zeichnen?

Größe: px
Ab Seite anzeigen:

Download "84 Wie kann ich einfache Strukturen zeichnen?"

Transkript

1 Multimedia Core 84 Wie kann ich einfache Strukturen zeichnen? Seit Java2 (JDK 1.2) steht das Java2D-API zur Verfügung. Mit dieser Einführung sind viele erweiterte Grafikmöglichkeiten zur Verfügung gestellt worden, obgleich die Kompatibilität zu den früheren Funktionen gewahrt wurde. Es stellt viele Funktionen zum Zeichnen von grundlegenden, geometrischen Figuren zur Verfügung. Dazu gehören Linien, Rechtecke, Kreise bzw. Ellipsen, Kreisbögen und Polygone. Die entsprechenden Klassen finden sich im Paket java.awt.geom. Sie sind alle Unterklassen der Klasse java.awt.shape. Damit ist es möglich, sie alle auf die gleiche Art und Weise in den Zeichenmethoden der Klasse Graphics2D zu behandeln. In der Klasse SimpleDraw werden einige grundlegende Figuren gezeichnet, die mit dem Java2D-API sehr einfach zu erstellen sind. I/O GUI XML RegEx Daten Threads Multimedia Datenbank Netzwerk Web- Server Applets Abbildung 67: Grundlegende Zeichenfunktionen Sonstiges package javacodebook.media.draw.simple; import java.awt.*; import java.awt.geom.*; import javax.swing.*; public class SimpleDraw extends JPanel{ //In Swing immer die Methode paintcomponent überschreiben public void paintcomponent(graphics graphics) { Listing 139: SimpleDraw

2 330 Multimedia super.paintcomponent(graphics); //Graphics-Objekt ist in Wahrheit ein Graphics2D-Objekt Graphics2D g = (Graphics2D) graphics; //Aktuelle Zeichenfarbe setzen g.setcolor(color.black); //Eine Linie zeichnen g.draw(new Line2D.Double(0,100,319,100)); //Ein Rechteck zeichnen g.draw(new Rectangle2D.Double(10, 10, 80, 60)); //Einen Kreis gefüllt zeichnen g.draw(new Ellipse2D.Double(130,10,60,60)); //Eine Ellipse mit Farbverlauf gefüllt zeichnen g.draw(new Ellipse2D.Double(230, 10, 80, 60)); //Ein Rechteck mit abgerundeten Ecken zeichnen g.draw(new RoundRectangle2D.Double(10, 110, 80, 60, 15, 15)); //Einen Kreisbogen zeichnen g.draw(new Arc2D.Double(120, 110, 80, 70, 90, 135, Arc2D.OPEN)); //Ein Tortenstück zeichnen g.draw(new Arc2D.Double(240, 110, 80, 80, 90, 45, Arc2D.PIE)); //Größe des Panels festlegen public Dimension getpreferredsize() { return new Dimension(320, 200); //Frame erzeugen Panel anzeigen public static void main(string[] args) { JFrame f = new JFrame(); f.setdefaultcloseoperation(windowconstants.exit_on_close); f.getcontentpane().setlayout(new BorderLayout()); f.getcontentpane().add(new SimpleDraw(), BorderLayout.CENTER); f.pack(); f.show(); Listing 139: SimpleDraw (Forts.) 85 Wie zeichne ich verschiedene Rahmen? Wenn Sie keinen Standard-Rahmen um eine geometrische Figur zeichnen wollen, sondern beispielsweise einen gestrichelten Rahmen, oder einen Rahmen in einer anderen Strichstärke verwenden wollen, so können Sie die Methode setstroke() der Klasse Graphics2D verwenden. In Verbindung mit der Klasse java.awt.basicstroke

3 Wie zeichne ich verschiedene Rahmen? 331 lassen sich sehr viele Einstellungen für den zu zeichnenden Rahmen vornehmen. Mit ihrer Hilfe können Strichstärke, Linienenden, Linienverbindungen und unterbrochene Linien erzeugt werden. Sie stellt einige Konstanten bereit, über die das Ende und die Verbindung von Linien definiert werden können. Die Werte CAP_BUTT, CAP_ROUND und CAP_SQUARE bestimmen den Stil, in dem ein Linienende gezeichnet wird (gerade, abgerundet oder mit geradem Anhang). Die Werte JOIN_BEVEL, JOIN_MITER und JOIN_ROUND legen fest, wie das Zusammentreffen von zwei Linienenden behandelt wird. Es kann ohne Effekt (BEVEL), mit spitzem Ende (MITER) oder abgerundet (ROUND) gezeichnet werden. Die Klasse BasicStroke bietet verschiedene Konstruktoren an, um die gewünschten Effekte zu erzielen. Die meisten sind sehr einfach zu benutzen. Der Konstruktor für das Erzeugen von gestrichelten Linien ist etwas komplexer. Er hat die Form public BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase). Die Parameter width, cap, join sind leicht erkennbar (Strichstärke und die oben genannten Stile). Miterlimit beschreibt, wie lang zwei Linien am Ende verbunden werden. Das wird wichtig, wenn zwei Linien in sehr spitzem Winkel aufeinander treffen. Wird eine Spitze gezeichnet, so kann diese sehr lang werden. Dies wird durch das miterlimit begrenzt (würde die Spitze länger als der Wert miterlimit, wird stattdessen mit der BEVEL-Funktion gezeichnet). Die Parameter dash und dash_phase beschreiben gestrichelte Linien. Im Array dash werden die Längen der einzelnen Strichabschnitte angegeben. Dabei wird alternierend zwischen gezeichnetem und nicht gezeichnetem Strich gewechselt. Ein Array in der Form {5,5 macht dasselbe wie {5, da abwechselnd 5 Punkte gezeichnet werden und die nächsten 5 nicht. Der Wert dash_phase dient als Offset für das Zeichnen der Strichelung, d.h. die ersten x Punkte werden übersprungen. Die Klasse StrokeExamples zeigt, wie die verschiedenen Rahmenarten und Linienenden gezeichnet werden. Core I/O GUI XML RegEx Daten Threads Multimedia Datenbank Netzwerk Web- Server Applets Sonstiges package javacodebook.media.draw.stroke; import java.awt.*; import java.awt.geom.*; import javax.swing.*; public class StrokeExamples extends JPanel{ public void paintcomponent(graphics graphics) { Listing 140: StrokeExamples

4 332 Multimedia super.paintcomponent(graphics); //Graphics-Objekt ist in Wahrheit ein Graphics2D-Objekt Graphics2D g = (Graphics2D) graphics; //aktuelle Zeichenfarbe setzen g.setcolor(color.black); //Ein Rechteck mit Rahmendicke 5 zeichnen BasicStroke fatborder = new BasicStroke(5.0f); g.setstroke(fatborder); g.draw(new Rectangle2D.Double(10, 10, 80, 60)); //Ein Rechteck mit gestricheltem Rahmen zeichnen BasicStroke stroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 1.0f, new float[] {5.0f, 0.0f); g.setstroke(stroke); g.draw(new RoundRectangle2D.Double(110, 10, 80, 60, 15, 15)); //Rahmen mit verschiedenen Strichlängen zeichnen stroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 1.0f, new float[] {5.0f, 5.0f, 2.0f, 5.0f, 0.0f); g.setstroke(stroke); g.draw(new RoundRectangle2D.Double(210, 10, 80, 60, 15, 15)); //Linien überschneiden sich am Ende ohne Effekt stroke = new BasicStroke(10.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL); g.setstroke(stroke); int x = 25; g.draw(new Line2D.Double(x, 160, x+25, 135)); g.draw(new Line2D.Double(x+25, 135, x+50, 160)); //Linien überschneiden sich am Ende, Spitze wird gezeichnet stroke = new BasicStroke(10.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER); g.setstroke(stroke); x = 125; g.draw(new Line2D.Double(x, 160, x+25, 135)); g.draw(new Line2D.Double(x+25, 135, x+50, 160)); //Linien überschneiden sich am Ende, Spitze wird abgerundet Listing 140: StrokeExamples (Forts.)

5 Wie zeichne ich verschiedene Rahmen? 333 stroke = new BasicStroke(10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); g.setstroke(stroke); x = 225; g.draw(new Line2D.Double(x, 160, x+25, 135)); g.draw(new Line2D.Double(x+25, 135, x+50, 160)); /** Die gewünschte Größe des Panels festlegen */ public Dimension getpreferredsize() { return new Dimension(300, 180); /** Einen Frame erzeugen und das Panel anzeigen */ public static void main(string[] args) { JFrame f = new JFrame(); f.setdefaultcloseoperation(windowconstants.exit_on_close); f.getcontentpane().setlayout(new BorderLayout()); f.getcontentpane().add(new StrokeExamples(), BorderLayout.CENTER); f.pack(); f.show(); Listing 140: StrokeExamples (Forts.) Und so sieht das Ergebnis aus. Core I/O GUI XML RegEx Daten Threads Multimedia Datenbank Netzwerk Web- Server Applets Sonstiges Abbildung 68: Verschiedene Möglichkeiten, Rahmen zu zeichnen

6 334 Multimedia Für die Definition eigener Rahmen muss das Interface java.awt.stroke implementiert werden, dann können selbst definierte Rahmen innerhalb der Zeichenfunktionen der Graphics2D-Klasse verwendet werden. Der mit Hilfe von setstroke() festgelegte Zeichenstrich kann auf alle Zeichenobjekte angewendet werden, die eine Unterklasse von java.awt.shape sind. 86 Wie kann ich etwas mit Farbverläufen füllen? Ein Farbverlauf wird mit Hilfe der Klasse java.awt.gradientpaint definiert. Er verläuft von einem Startpunkt hin zu einem Endpunkt, die beide in Koordinatenform angegeben werden. Eine Ausgangs- und eine Endfarbe müssen angegeben werden, dazwischen wird entlang einer Geraden zwischen Start- und Endpunkt ein linearer Farbverlauf berechnet. Mit der Methode fill(shape shape) aus der Klasse Graphics2D wird der Farbverlauf gezeichnet. Auch zyklisches Füllen ist möglich. Die Klasse GradientPaint hat zwei Konstruktoren, die es in zwei Variationen gibt, einmal mit einzelnen Koordinaten und einmal mit Point2D-Objekten als Parameter, um die Endpunkte der Farbverläufe festzulegen. Wir beschränken uns hier auf die Variante mit einzelnen Koordinaten: public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2); public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic); Mit der ersten Variante wird ein einfacher, azyklischer Farbverlauf vom Punkt x1,y1 hin zu Punkt x2, y2 erzeugt. Die zweite Variante ermöglicht sowohl einen azyklischen als auch einen zyklischen Farbverlauf. Mit dem Parameter cyclic kann angegeben werden, ob der Farbverlauf zyklisch wiederholt werden soll. Er wird allerdings nur dann zyklisch verlaufen, wenn der angegebene Endpunkt {x2,y2 nicht auch der Endpunkt des zu füllenden Shapes ist. Wird der Endpunkt {x2, y2 z.b. in der Mitte des zu füllenden Shapes angegeben, so wird der Farbverlauf einmal vom Rand bis zur Mitte von Farbe 1 zu Farbe 2 verlaufen und dann von der Mitte zum anderen Rand von Farbe 2 zu Farbe 1. Das vorherige Bild zeigt die Möglichkeiten, die sich mit GradientPaint ergeben.

7 Wie kann ich etwas mit Farbverläufen füllen? 335 Core I/O GUI Abbildung 69: Füllen mit Farbverläufen public void paintcomponent(graphics graphics) { super.paintcomponent(graphics); Graphics2D g = (Graphics2D) graphics; float startx = 10, starty = 10; float width=80, height=60; //Farbverlauf definieren und ein gefülltes Rechteck zeichnen //Farbverlauf von links (schwarz) nach rechts (weiß) linear GradientPaint gradient = new GradientPaint(startx, starty, Color.black, startx + width, starty, Color.white); g.setpaint(gradient); g.fill(new Rectangle2D.Double(startx, starty, width, height)); startx = 110; //Farbverlauf diagonal von links oben nach rechts unten gradient = new GradientPaint(startx, starty, Color.black, startx + width, starty + height, Color.white); g.setpaint(gradient); g.fill(new Rectangle2D.Double(startx, starty, width, height)); XML RegEx Daten Threads Multimedia Datenbank Netzwerk Web- Server Applets Sonstiges startx = 20; starty = 110; //Zyklischer Farbverlauf mit Zentrum in der Mitte gradient = new GradientPaint(startx, starty, Color.black, startx + width, starty, Color.white, true);

8 336 Multimedia g.setpaint(gradient); g.fill(new Rectangle2D.Double(startx, starty, width*2, height)); 87 Wie kann ich eine Grafik laden und anzeigen? Eine Grafik wird in Java von der Klasse java.awt.image repräsentiert. Java unterstützt von sich aus die Formate GIF und JPEG. Sie haben mehrere Möglichkeiten, ein Bild zu laden. Innerhalb eines Applets kann die Methode getimage() verwendet werden, in einer Anwendung die Methode getimage() der Klasse java.awt.toolkit. Dabei kann letztere nur über das Default-Toolkit, das von der Java Runtime bereitgestellt wird, verwendet werden. Das Default-Toolkit wird von der Klasse Toolkit über die Methode getdefaulttoolkit() geliefert. Somit sieht ein entsprechender Aufruf in einer Anwendung so aus: Image image = Toolkit.getDefaultToolkit().getImage(dateiname); Die Methode getimage() kehrt sofort zurück und das Laden der Grafik erfolgt im Hintergrund. Dies hat zur Folge, dass ein Bild u.u. noch nicht vollständig geladen ist, wenn es verwendet werden soll. Die Kontrolle über den Ladevorgang können Sie durch den Einsatz eines MediaTrackers (java.awt.mediatracker) behalten. Im Kapitel über Applets wird dies gezeigt. Wenn Sie das Bild sofort verwenden wollen, nehmen Sie die Klasse javax.swing. ImageIcon. Sie verwendet intern einen MediaTracker und erspart so diverse Codezeilen. Der Konstruktor erhält als Parameter eine Datei oder URL, von der das Bild geladen wird. Mit der Methode getimage() kann das Bild anschließend genutzt werden. Um das Bild anzuzeigen, kann eine entsprechende Swing-Komponente verwendet werden, die ImageIcons unterstützt (z.b. ein JLabel). Es ist jedoch auch sehr einfach, eine eigene Komponente zu schreiben, die Grafiken anzeigt. Eine eigene Komponente kann oft flexibler innerhalb von GUI-Anwendungen eingesetzt werden. Die Klasse ImagePanel ist als Komponente realisiert, die von JPanel erbt. Damit kann sie an beliebiger Stelle verwendet werden, z.b. innerhalb einer JScrollPane. Im Konstruktor wird die Grafik übergeben. Das ImagePanel nimmt danach die Größe der Grafik als seine optimale Größe an.

9 Wie kann ich eine Grafik laden und anzeigen? 337 package javacodebook.media.graphic.load; import java.awt.*; import javax.swing.jpanel; public class ImagePanel extends javax.swing.jpanel { //Die Grafik, die angezeigt werden soll private Image image; public ImagePanel(Image image) { this.image = image; //Grafik auf das Panel zeichnen public void paintcomponent(graphics g) { super.paintcomponent(g); g.drawimage(image, 0, 0, image.getwidth(this), image.getheight(this), this); //Größe der Grafik als PreferredSize zurückgegeben public Dimension getpreferredsize() { return new Dimension(image.getWidth(this), image.getheight(this)); Listing 141: ImagePanel Damit lässt sich ein einfacher Bildbetrachter erstellen. Die Klasse ImageViewer stellt eine einfache Möglichkeit dar, Bilder zu laden und anzuzeigen. Dabei wird der Frame jeweils der Größe der anzuzeigenden Grafik angepasst. Core I/O GUI XML RegEx Daten Threads Multimedia Datenbank Netzwerk Web- Server Applets Sonstiges package javacodebook.media.graphic.load; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class ImageViewer extends JFrame { //das ImagePanel ImagePanel imagepanel = null; Listing 142: ImageViewer

10 338 Multimedia public ImageViewer() { setdefaultcloseoperation(windowconstants.exit_on_close); getcontentpane().setlayout(new BorderLayout()); //Einen Button zum Öffnen von Dateien erstellen JPanel buttonpanel = new JPanel(); getcontentpane().add(buttonpanel, BorderLayout.NORTH); JButton openbutton = new JButton("Datei öffnen"); buttonpanel.add(openbutton); //Einen ActionListener auf den Button legen, der einen //FileChooser öffnet openbutton.addactionlistener(new ActionListener() { public void actionperformed(actionevent evt) { JFileChooser chooser = new JFileChooser(); int status = chooser.showopendialog(imageviewer.this); if (status == JFileChooser.APPROVE_OPTION) { //ausgewählte Datei ermitteln und abspielen File file = chooser.getselectedfile(); try { ImageIcon icon = new ImageIcon(file.getAbsolutePath()); //vorher vorhandenes ImagePanel entfernen if(imagepanel!= null) getcontentpane().remove(imagepanel); //das ImagePanel anzeigen imagepanel = new ImagePanel(icon.getImage()); getcontentpane().add(imagepanel, BorderLayout.CENTER); //Frame auf die Bildgröße anpassen pack(); catch(exception e) { e.printstacktrace(system.out); ); public static void main(string[] args) { ImageViewer viewer = new ImageViewer(); viewer.pack(); viewer.show(); Listing 142: ImageViewer (Forts.)

Informatik II. Aufgabe 1: Image Viewer ImageViewer.java

Informatik II. Aufgabe 1: Image Viewer ImageViewer.java Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 27. Juli 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 12 Aufgabe 1: Image Viewer ImageViewer.java Informatik

Mehr

GUI Programmierung mit JAVA Swing

GUI 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

Mehr

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

JAVA2D OKTOBER package at.ac.wuwien.examples.swingdemo; 3 import javax.swing.*; 5 public class SimpleGUI extends JFrame { GUIs mit Swing Swing und Java2D Albert Weichselbraun Swing setzt auf AWT auf leichtgewichtige Komponenten Realisiert die MVC (Model-View-Controller) Architektur Komponenten: siehe Index http://java.sun.com/docs/books/tutorial/

Mehr

Grafik-Programmierung

Grafik-Programmierung Grafik-Programmierung In dieser Übung beschäftigen wir uns zunächst mit elementaren Grundlagen der Grafikprogrammierung. In der nächsten Übung werden wir dies auf Spiele anwenden. Aufgabe 1: Einfache Grafik:

Mehr

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

Abteilung 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

Mehr

Gegeben ist ein Path-Objekt mit folgender Beschreibung des Hauses vom Nikolaus:

Gegeben ist ein Path-Objekt mit folgender Beschreibung des Hauses vom Nikolaus: Lösungen 1. Aufgabe Gegeben ist ein Path-Objekt mit folgender Beschreibung des Hauses vom Nikolaus: 1. Implementiere die paint()-methode im Rahmen eines Applets. Führe das Applet aus und zeige über das

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel X Zeichnen mit Java2D SWT I Sommersemester 2009 Prof. Walter F. Tichy David Meder Literatur Informationen zu Java2D finden Sie in

Mehr

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Zentrale 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

Mehr

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

!!! # $ # %&' $ ' ( ) !!!" #$ #%&'$' () *)+)'& *',- import javax.swing.* ) import javax.swing.*; public class SimpleFrameTest { public static void main(string[] args) { SimpleFrame frame = new SimpleFrame(); )) )-)- ).'&-)

Mehr

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

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

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

Institut 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

Mehr

Kapitel X - Zeichnen mit Java2D

Kapitel X - Zeichnen mit Java2D Kapitel X - Zeichnen mit Java2D SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java 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

Mehr

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

Einfü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

Mehr

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

Einfü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.

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

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

Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-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

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 5. Grafische Userinterfaces Christian Scheible Institut für Maschinelle Sprachverarbeitung 31. Juli 2009 Christian Scheible Java für Computerlinguisten 31. Juli 2009 1 / 33

Mehr

Konzepte objektorientierter Programmierung

Konzepte objektorientierter Programmierung Konzepte objektorientierter Programmierung Objekte Klassen Nachrichten Kapselung Einführung Vererbung heute! Konzepte objektorientierter Programmierung Was ist ein Objekt? Was ist eine Klasse? Was sind

Mehr

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Tutorial04: 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

Mehr

Java - AWT Basispraktikum SystemArchitektur WS 2008/ Atanas Dimitrov

Java - AWT Basispraktikum SystemArchitektur WS 2008/ Atanas Dimitrov Java - AWT Basispraktikum SystemArchitektur WS 2008/2209 09.12.2008 Atanas Dimitrov 1 Was besprechen wir heute: AWT Klassen Die Klasse Graphics AWT Methoden Die Klasse ToolKit Ausgabe von Bilder Die Klasse

Mehr

Hochschule 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. 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

Aufbau einer typischen Java-Datei

Aufbau einer typischen Java-Datei Aufbau einer typischen Java-Datei 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [package mein.paket;] [import

Mehr

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

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

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

Drucken soll nur das Panel, nicht der ganze Rahmen gedruckt werden. Kapitel 1 Drucken von Swing-Komponenten. Wir wollen eine einfache Methode zum Drucken einer Swing-Komponente vorstellen und daran den Mechanismus der Druckereinbindung in JAVA studieren. Anschließen wird

Mehr

Plotten von Kreisen ( nach Jack Bresenham ) (C) Ac bis

Plotten von Kreisen ( nach Jack Bresenham ) (C) Ac bis Plotten von Kreisen ( nach Jack Bresenham ) (C) Ac 3-1990 bis 2-2017 Wie zeichnet der Computer Kreise? Natürlich mithilfe von Pixels, picture elements, also kleinen Bildpunkten. Die beste Approximation

Mehr

von Anja Austermann Drag and Drop

von Anja Austermann Drag and Drop von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java

Mehr

GUIs in Java und ihre Programmierung

GUIs in Java und ihre Programmierung GUIs in Java und ihre Programmierung Einführung GUI = Graphical User Interface graphische Benutzerschnittstelle Java Tutorial java.sun.com/docs/books/tutorial/index.html Java Documentation (in Version

Mehr

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

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event. Lösungen 1. Aufgabe // ActionExample.java import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample extends JFrame int counter = 1; JLabel counterlabel; public

Mehr

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

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

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

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen 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"

Mehr

Programmieren 2 Übung Semesterwoche 6

Programmieren 2 Übung Semesterwoche 6 Programmieren 2 Übung Semesterwoche 6 1. Aufgabe: Klasse Cube public class Cube implements Comparable protected int number; Nummer des Kubus int s1, s2, s3; Die 3 Seiten des Kubus. public static

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

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

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

Graphische Nutzerschnittstellen

Graphische Nutzerschnittstellen Graphische Nutzerschnittstellen Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Einführung,

Mehr

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

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung

Grafikausgabe 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

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,

Mehr

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

import java.awt.*; import java.awt.event.*; import javax.swing.*; Swing Workshop Dieser Workshop enthält grundsätzliche Informationen über Swing und Java und regt mit einigen Beispielen und Übungen zum weiteren Erkunden dieses Themengebietes an. Kapitel 1: Das erste

Mehr

Programmieren II. Zeichnen in Swing-Komponenten. Heusch 18 Ratz Institut für Angewandte Informatik

Programmieren II. Zeichnen in Swing-Komponenten. Heusch 18 Ratz Institut für Angewandte Informatik Programmieren II Zeichnen in Swing-Komponenten Heusch 18 Ratz 16.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Zeichnen in Swing-Komponenten (1) Eine Swing-Komponente kann nicht

Mehr

NTB Druckdatum: 01.04.13 -

NTB 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

Mehr

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

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

Mehr

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

Ist 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

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte 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

Mehr

Images. Kommen auf zweierlei Weise zur Anwendung. Darstellung von Pixelbildern(.jpg,.gif,.png) Bilden die Grundlage für Offscreendrawing

Images. Kommen auf zweierlei Weise zur Anwendung. Darstellung von Pixelbildern(.jpg,.gif,.png) Bilden die Grundlage für Offscreendrawing Graphics Klasse, die alle grundlegenden Methoden zum Zeichnen und Schreiben bereitstellt (draw -Methoden, Methoden zu Fonts und Colors) Bereitstellung eines Graphics-Objektes durch das AWT bei Aufruf der

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 02: Streams filtern, Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Datenströme (Streams) Filtern FilterWriter, - Reader 2.

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

Programmieren 2 Selbststudium Semesterwoche 4

Programmieren 2 Selbststudium Semesterwoche 4 Programmieren 2 Selbststudium Semesterwoche 4 Kapitel 11.1, 11.2 und 11.3 1. Das Konzept "Interface" ist wichtig und ist uns schon mehrfach begegnet. In welchen Zusammenhängen hatten wir es schon mit "Interfaces"

Mehr

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

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Toolbar 1. JToolBar 2. Menü 1. JMenuBar 2. JMenu 3. JMenuItem 4. KeyStroke 5. Beispiel JMenuDemo1 6. JCheckBoxMenuItem 7. JRadioButtonMenuItem 8. Beispiel JMenuDemo2 9. JPopupMenu 10. Beispiel

Mehr

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

Ziel 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

Mehr

Medientechnik. Übung 2 Java Swing

Medientechnik. Übung 2 Java Swing Medientechnik Übung 2 Java Swing Planung Nr Zeitraum Thema 1 20.04. 25.04. Bildretusche mit Gimp 2 27.04. 01.05. GUI Programmierung 3 04.05. 08.05. Model-View Controller 4 18.05. 22.05. Bildfilter 5 26.05.

Mehr

Ereignisse (Events) in Java

Ereignisse (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

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Swing. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.06.07 G. Bohlender (IANM UNI Karlsruhe) Swing 27.06.07 1 / 10 Übersicht 1 Einführendes

Mehr

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Applets. 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

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

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.

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. Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2

Mehr

Graphische Benutzungsoberflächen

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

Mehr

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

Sommersemester Implementierung III: GUI und Verhalten (Teil 2) Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des

Mehr

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 9 Übungen: Applets Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 1. Java-Applet mit Text 2. Java-Applet mit Bild und Text 3. Java-Applet mit Grafik 9 Applets 4. Java-Applet

Mehr

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

16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz 16 Zeichnen in Swing-Komponenten 2009 2014, Prof. Dr. D. Ratz 16.1 Grafische Darstellung von Komponenten Der Repaint-Manager sorgt für die grafische Darstellung der Komponenten Aktivierung beim erstmaligen

Mehr

DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA https://www.iai.kit.edu/~javavorlesung W. Geiger, T. Schlachter, C. Schmitt, W.

DHBW Karlsruhe, Angewandte Informatik Programmieren in JAVA https://www.iai.kit.edu/~javavorlesung W. Geiger, T. Schlachter, C. Schmitt, W. Bereich: Grafische Benutzeroberflächen (UI), Events (1) Währungsumrechner (2) Package: de.dhbwka.java.exercise.ui.event Musterlösung Klasse: CurrencyCalculator package de.dhbwka.java.exercise.ui.event;

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Hauptklausur: PRGII MD

Hauptklausur: PRGII MD Hauptklausur: PRGII MD Aufgabe 1 (18 Punkte) Betrachten Sie folgenden binären Suchbaum. a) Geben Sie die Knoten des Baumes in postorder aus. anne, helmut, harald, bert, arno, manuel, uwe, thorsten, sebastian,

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr

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

jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout. 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

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung

Mehr

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

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August

Mehr

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

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Heinrich Hußmann Ludwig-Maximilians-Universität München Sommersemester 2003 Ludwig-Maximilians-Universität München Prof. Hußmann

Mehr

Aufgabe Malen zum Software-Engineering. Karl Friedrich Gebhardt

Aufgabe Malen zum Software-Engineering. Karl Friedrich Gebhardt Aufgabe Malen zum Software-Engineering Karl Friedrich Gebhardt 8. Februar 2017 c 2010 Karl Friedrich Gebhardt Auflage vom 8. Februar 2017 Aufgabe Das folgende Dokument enthält eine Reihe von aufeinander

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Swing :Komponenten I (Teil 2)

Swing :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

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 12 Grafische Benutzerschnittstellen... 12-2 12.1 Komponenten... 12-2 12.1.1 AWT und Swing... 12-2 12.1.2 Beispiel Hallo Welt!... 12-3 12.2 Ereignisverarbeitung... 12-6 12.3 Grafik... 12-10 12.3.1

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw. Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.

Mehr

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

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore. Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung

Mehr

Grundlagen der Programmierung APPLETS

Grundlagen 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

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und

Mehr

Computergrafik 2016 Oliver Vornberger. Kapitel 02: Grafische Benutzeroberflächen

Computergrafik 2016 Oliver Vornberger. Kapitel 02: Grafische Benutzeroberflächen Computergrafik 2016 Oliver Vornberger Kapitel 02: Grafische Benutzeroberflächen 1 RaufRunterApplet http://www-lehre.inf.uos.de/~cg/2016/skript/applets/raufrunter/app.html 2 GUI-Programmierung Windowmanager

Mehr

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

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events

Mehr

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

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events

Mehr

Klausur: Java (Liste P)

Klausur: Java (Liste P) Klausur: Java (Liste P) WS05/06 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen

Mehr

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung Prof. Redlich 6. Übungsblatt 21 (+4) Punkte Abgabe bis 31.01.2010 (08:00 Uhr) über GOYA Aufgabe

Mehr

Klausur vom 14. Juni 2004. Informatik 4

Klausur vom 14. Juni 2004. Informatik 4 Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik, Burgdorf Klasse: EV02-1 Name, Vorname: Klausur vom 14. Juni

Mehr

GUI Programmierung in Java

GUI 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

Mehr

Serie 3: Designbeschreibung Verantwortlich für Rose-Projekt und Designbeschreibungen Dang, Quoc Anh / Phan, Ngoc Diep / Xiongjie Ding

Serie 3: Designbeschreibung Verantwortlich für Rose-Projekt und Designbeschreibungen Dang, Quoc Anh / Phan, Ngoc Diep / Xiongjie Ding DESIGNBESCHREIBUNG. 1. Allgemeines.? GeoViewer ist eine menügesteuerte graphische Java-Applikation. VonGEO-Record wird die vordefinierte geometrische Konfiguration geladen, im GeoProver-Paket berechnet

Mehr

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

Rückblick. Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen? Rückblick Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen? Was sind statische Methoden? Was sind statische Variablen? Was

Mehr