Application Frameworks and Componentware Wintersemester 2002/03. Komponentenbasierte Programmierung in Java

Ähnliche Dokumente
6. Java Java Beans und Enterprise Java Beans

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK

JavaBeans Property-Editoren und Customizer

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand.

Java Beans.

Java Beans. von Raoul Schneider

Einstieg in die Informatik mit Java

Instrumentierung und Dekodierung

Einstieg in die Informatik mit Java

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

8.6 Visualisierung der Sortieralgorithmen

Programmieren 2 Übung Semesterwoche 6

Java für Computerlinguisten

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

Ausnahmebehandlung in Java

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

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2

class BahnTest2 { public static void main(string[] args) { Zug myice = new Zug("ICE Duisburg", 1200, 0, 50); BahnCardFahrer kunde2 = new BahnCardFahre

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

GUI Programmierung mit JAVA Swing

II.4.2 Abstrakte Klassen und Interfaces - 1 -

JavaBeans. Marc Monecke

Modernisierung von Forms durch neues Look&Feel

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

Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Java - Programmierung - Prozedurale Programmierung 1

Institut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

EINFÜHRUNG IN DIE PROGRAMMIERUNG

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

Programmiertechnik GUI Programmierung mit Java Swing

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

Hintergrund und Motivation

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

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

Funktionale und Objekt-Orientierte Programmierkonzepte

Zwischenbericht Großer Beleg

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Java-Schulung Grundlagen

Dateien. DVG Dateien 1

Objektorientierte Programmierung

Einführung in die Programmierung mit Java

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

Klausur zur Informatik A WS 2001/2002 Name: Korrektor: Punkte: a) Zeichnen Sie zu der nachstehenden Syntax in EBNF die passenden Syntaxdiagramme.

Informatik II. Aufgabe 1: Image Viewer ImageViewer.java

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

Algorithmen und Programmierung III

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Programmiermethodik 1. Klausur

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

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Subnetting Version 0 Munz FTE1- JAVA Programm Analyse

Workshop zu Folge 9.3 Überarbeitete Version vom Mai 2016

Medientechnik. Übung 2 Java Swing

Übung Nr. 20 Freitag, 09:00-11:00 Uhr in E3.301

RP6_NNetz.java. Page 1

Verteidigung Großer Beleg

II.4.1 Unterklassen und Vererbung - 1 -

import java.applet.applet; import java.awt.*; public class Grow extends Applet { public void start() { setbackground(color.orange); } public void

II.1.1. Erste Schritte - 1 -

Objektorientierte Programmierung Studiengang Medieninformatik

II.4.1 Unterklassen und Vererbung - 1 -

EINFÜHRUNG IN DIE PROGRAMMIERUNG

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

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139

Grafische Benutzeroberflächen

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

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

Prüfung Softwareentwicklung II (IB)

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

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

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

Algorithmen und Programmierung III

II.4.5 Generische Datentypen - 1 -

1 Klassen anlegen und Objekte erzeugen

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

Vererbung Advanced. Ziele. Überschreiben von Methoden der Eltern Einführung Interface & Abstrakte Klasse Sichtbarkeit von Methoden bei Vererbung

Richard Bubel & Martin Hentschel

Dr. Monika Meiler. Inhalt

Interface. So werden Interfaces gemacht

Programmieren in Java

Grundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete

Info B VL 14: Java Collections/Reflections

Probeklausur Informatik 2 Sommersemester 2013

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

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am

Vorlesung Informatik II

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

Arten von Klassen-Beziehungen

Transkript:

JavaBeans Java inproc Komponenten Übersicht Komponentenbasierte Programmierung in Java JavaBeans werden in der JVM der Anwendung ausgeführt JavaBeans sind Komponenten, die über Zugriffsklassen verfügen bestimmte Namenskonventionen bei den Methoden einhalten über Dialogboxen konfigurierbar sind neuen Programmiermethoden (Visual Programming) zugänglich sind Vergleichbar mit Controls in OLE, COM, ActiveX (inproc) Konfiguiermöglichkeiten in Visual Studio AFCW - 6 JavaBeans 6.2 (c) Peter Sturm, Universität Trier 1

Die BeanBox Prototyp einer IDE mit visuellen Programmiereigenschaften 4 Fenster BeanBox: Aktuelle Anwendung ToolBox: Auflistung aller verfügbaren Beans PropertiesBox: Eigenschaften der aktuellen Bean lesen und konfigurieren MessageTracer AFCW - 6 JavaBeans 6.3 Beispiel: JugglerBean (1) JugglerBean aus Toolbox auswählen und plazieren AFCW - 6 JavaBeans 6.4 (c) Peter Sturm, Universität Trier 2

JugglerBean (2) 2 ExplicitButton mit Start und Stop hinzufügen AFCW - 6 JavaBeans 6.5 JugglerBean (3) Stop : Edit->Events->button push->actionperformed AFCW - 6 JavaBeans 6.6 (c) Peter Sturm, Universität Trier 3

JugglerBean (4)... mit JugglerBean verknüpfen AFCW - 6 JavaBeans 6.7 JugglerBean (5) Automatisch generierter Code package tmp.sunw.beanbox; import sunw.demo.juggler.juggler; import java.awt.event.actionlistener; import java.awt.event.actionevent; public class Hookup_1653fe1423 implements java.awt.event.actionlistener, java.io.serializable { public void settarget(sunw.demo.juggler.juggler t) { target = t; public void actionperformed(java.awt.event.actionevent arg0) { target.stopjuggling(arg0); private sunw.demo.juggler.juggler target; AFCW - 6 JavaBeans 6.8 (c) Peter Sturm, Universität Trier 4

Eine eigene Bean Beispiel aus Core Java 2, Volume II, Advanced Features ImageViewerBean Darstellung einer Bilddatei AFCW - 6 JavaBeans 6.9 ImageViewerBean import java.awt.*; import java.io.*; import javax.swing.*; public class ImageViewerBean extends JPanel implements Serializable {... private static final int MINSIZE = 50; private Image image = null; private String filename = ""; AFCW - 6 JavaBeans 6.10 (c) Peter Sturm, Universität Trier 5

setfilename() und getfilename() public void setfilename(string f) { filename = f; image = Toolkit.getDefaultToolkit().getImage(fileName); MediaTracker tracker = new MediaTracker(this); tracker.addimage(image, 0); try { tracker.waitforid(0); catch (InterruptedException e) { repaint(); public String getfilename() { return filename; AFCW - 6 JavaBeans 6.11... und der Rest public void paint(graphics g) { if (image == null) { g.drawrect(0, 0,getWidth()-1,getHeight()-1); else g.drawimage(image, 0, 0, this); public Dimension getpreferredsize() { if (image == null) return new Dimension(MINSIZE, MINSIZE); return new Dimension( image.getwidth(null),image.getheight(null)); AFCW - 6 JavaBeans 6.12 (c) Peter Sturm, Universität Trier 6

Vollständige Bean *.class Dateien für alle benötigten Klassen Manifsetdatei: Welche Klassen gehören zur Bean Beispiel für ImageViewerBean ImageViewerBean.mf: Name: ImageViewerBean.class Java-Bean: True jar-file erzeugen: jar cfm ImageViewerBean.jar ImageViewerBean.mf *.class AFCW - 6 JavaBeans 6.13 Bean testen AFCW - 6 JavaBeans 6.14 (c) Peter Sturm, Universität Trier 7

BeanProperties BeanBox erkennt Properties über Namen der Zugriffsfunktionen BeanProperty X Verwendung sogenannter Decapitalization: aus setmeineprop bzw. getmeineprop wird meineprop Angabe der Zugriffsfunktionen: public X getx () Ausnahme: public boolean isx () public void setx ( X x ) Nurleseeigenschaften: Keine setx()-methode AFCW - 6 JavaBeans 6.15 Property-Arten Simple Property Variable speichert einen einfachen Wert Indexed Property Speicherung eines Feldes Zugriffsfunktionen X[] getx () void setx ( X[] x) X getx ( int i ) void setx ( int i, X x ) AFCW - 6 JavaBeans 6.16 (c) Peter Sturm, Universität Trier 8

Property-Arten (contd.) Bound Property Listener werden über Änderungen informiert Zusätzlicher Implementierungsaufwand Bean muß bei Änderung PropertyChange-Event senden Verwaltung aller Listener: void addpropertychangelistener (... ) void removepropertychangelistener (... ) Convenience-Klasse PropertyChangeSupport vorhanden Constraint Property Bound Property mit Vetorecht der Listener AFCW - 6 JavaBeans 6.17 Property-Editoren BeanBox stellt für Grundtypen Editoren zur Verfügung Editoren für anwendungsspezifische Methoden integrierbar AFCW - 6 JavaBeans 6.18 (c) Peter Sturm, Universität Trier 9

Alternativen BeanBox ist veraltete aber schöne Demonstration der wesentlichen Bean-Eigenschaften Kleinere Inkompatibilitäten mit Java 1.4 Neuere Fassung: Bean Builder Primärer Einsatz: Integrierte Entwicklungsumgebungen JBuilder NetBeans AFCW - 6 JavaBeans 6.19 (c) Peter Sturm, Universität Trier 10