Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -

Slides:



Advertisements
Ähnliche Präsentationen
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Ein Beispiel in Java.
Zusammenfassung des Kapitels 8
Programmierkurs Java WS 98/99 Vorlesung 15 Dietrich Boles 17/02/99Seite 1 Programmierkurs Java Vorlesung im WS 1998/1999 am FB Informatik der Universität.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Praktikum Systementwicklung
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Java: Programmierung grafischer Oberflächen
Java: Programmierung grafischer Oberflächen
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Grafische Benutzeroberfläche
Wie überwacht man Objekte im "Alltag" ?. Indem man "Wanzen" an diese anbringt.
Ein Beispiel in Java.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Objektorientierte Programmierung JDK-Klassenbibliothek
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Programmieren mit JAVA
1DVG3 - Paint Teil 2 Paint Teil2. DVG3 - Paint Teil 2 2 Weitere Entwicklungen Hinzufügen verschiedener Werkzeuge: Punkte Linien Rechtecke, Rechtecke mit.
Vortrag - Kenny Schlör Applets Einführung in die Appletprogrammierung.
1DVG3 - eigene AWT-Komponenten Entwicklung eigener AWT-Komponenten.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
08-GraphikImplementierung Implementierung der Graphik in EMMA301Paint.
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren.
© 2005 Pohlig – Taulien: Eine GUI für die Klasse Mathematik Kurs: Come Together 1 April 2005 Eine GUI für die Klasse Mathematik.
© 2005 Pohlig – Taulien: Die Matheamatik-GUI als Applet Come Together 1 April 2005 Was ist ein Applet Ein Applet ist ein Javaprogramm, das die VM benutzt,
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
AWT und JFC Abstract Windowing Toolkit
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Applets Java für’s Web.
Java: Programmierung grafischer Oberflächen
Jigugegl Java isch guet u git e guete Luun! (frei nach Figugegl) Jigugegl.
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Informatik – Programmierpraktikum Alexander Volodarski Gruppe 14
Java-AG Benutzeroberflächen Juni 2001 Michael Haas.
Client-Server-Architektur
CuP - Java Achzehnte (und LETZTE. ) Vorlesung : 1
Learning By Doing Ereignissteuerung (Events) prozedural ereignisgesteuert Unterprogrammaufruf an fest codierter Stelle Wann immer der Event auftritt, führe.
Learning By Doing Konstruktoren Gleicher Name wie die Klasse Zur Initialisierung des Objekts, insbesondere mit Parametern Wir immer bei der Objekterzeugung.
Lind 02/2005 Einführung in JAVA. Lind 02/2005 Beispiel: Mittelwert Es soll ein Programm erstellt werden, das den Mittelwert zweier reeller Zahlen berechnet.
Java Threads Scheduling Lei Chen November 2000 Proseminar.
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Einführung in die OOP in Java
GUI Programmierung in Java Branimir Djordjevic. GUI - Wichtige Begriffe -  Die Swing-Bibliothek in Java stellt zum Beispiel die folgenden Windows zur.
Abstract Windowing Toolkit
Abstract Windowing Toolkit
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Mit der Turtle Java Programmieren
 Präsentation transkript:

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 1 java.awt.Window java.lang.Object java.awt.Frame java.awt.Container paint(Graphics g) java.awt.Panel java.awt.Applet init() start() stop() destroy() java.awt.Component paint(Graphics g)

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 2 change_phi = change_phi_stop = null; setBackground(Color.lightGray); setLayout(new BorderLayout()); // oben Panel oben = new Panel(); oben.setLayout(new FlowLayout(FlowLayout.CENTER)); b = new Button[5]; b[0] = new Button(" sin( x) "); b[1] = new Button(" sin(2x) "); b[2] = new Button("sin( x) + 1/3 sin(3x)"); b[3] = new Button("sin(2x) + 1/3 sin(6x)"); for ( int i = 0; i <= 3; i++) { b[i].addActionListener(this); oben.add(b[i]); } add(oben, BorderLayout.NORTH); //links Panel links = new Panel(); b[4] = new Button("Aus"); b[4].addActionListener(this); links.add(b[4]); add(links, BorderLayout.WEST); //zentral disp = new Display(); add(disp, BorderLayout.CENTER ); import java.awt.*; import java.awt.event.*; import java.applet.Applet; import Display; public class Oszi extends Applet implements Runnable, ActionListener, ItemListener, TextListener, AdjustmentListener { Frame f; Thread change_phi, change_phi_stop; Display disp; Button b[]; Scrollbar sb; Checkbox cbd, cbl; TextField tf; boolean dyn; // Dynamik int phi, // Phasenwinkel fw, // Funktionsauswahl art; // Darstellungsart public void init() { phi = 0; fw = 1; art = 0; dyn = false;

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 3 //rechts sb = new Scrollbar(Scrollbar.VERTICAL, 0, 20, 0, 380); sb.addAdjustmentListener(this); sb.setUnitIncrement(3); sb.setBlockIncrement(30); add(sb, BorderLayout.EAST); //unten Panel unten = new Panel(); cbd = new Checkbox("Dynamik"); cbd.addItemListener(this); unten.add(cbd); cbl = new Checkbox("Lissajous"); cbl.addItemListener(this); unten.add(cbl); unten.add(new Label("Phasenwinkel")); tf = new TextField("0",3); tf.addTextListener(this); unten.add(tf); unten.add(new Label("°")); add(unten, BorderLayout.SOUTH); setSize(460,420); // Zusatzfenster int ausw, ph; f = new Frame(); f.setTitle("Display Function"); try { ausw = Integer.parseInt(getParameter("Auswahl")); } catch (NumberFormatException e) {ausw = 1;} try { ph = Integer.parseInt(getParameter("Phase")); } catch (NumberFormatException e) {ph = 0;} if (ausw < 1) ausw = 1; else ausw = ((ausw - 1) % 8) + 1; ph %= 360; if (phi < 0) ph += 360; f.add("Center", new Display(ausw, ph)); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 4 public void start() { if (change_phi == null) { change_phi = change_phi_stop = new Thread(this); change_phi.start(); } f.setSize( 420, 400 ); f.setVisible(true); } public void stop() { change_phi_stop = null; try { change_phi.join(); } catch (InterruptedException e) { System.out.print(e); } change_phi = null; f.setVisible(false); } public void destroy() { f.dispose(); } public void run() { Integer i = new Integer(0); while (change_phi == change_phi_stop) { if (dyn && fw != 0) { disp_new(); phi++; phi %= 360; sb.setValue(phi); tf.setText(i.toString(phi)); try { change_phi.sleep(100); } catch(InterruptedException e){}; } else try { change_phi.sleep(500); } catch(InterruptedException e){}; }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 5 public void itemStateChanged (ItemEvent e) { Object obj = e.getSource(); if (obj == cbl) { if (cbl.getState()) art = 4; else art = 0; if (fw != 0) disp_new(); } if (obj == cbd) { if (cbd.getState()) dyn = true; else dyn = false; } public void textValueChanged (TextEvent e) { Object obj = e.getSource(); if (obj == tf) { phi = Integer.parseInt(tf.getText()); if (phi < 0) phi = 0; if (phi > 360) phi = 360; sb.setValue(phi); disp_new(); } public void adjustmentValueChanged (AdjustmentEvent e) { Object obj = e.getSource(); if (obj == sb) { phi = sb.getValue(); tf.setText(new Integer(phi).toString()); disp_new(); } public void actionPerformed(ActionEvent e) { Object obj = e.getSource(); if (obj instanceof Button) { for (int i = 0; i < 4; i++) if (obj == b[i]) fw = i + 1; if (obj == b[4]) { fw = 0; art = 0; phi = 0; dyn = false; tf.setText("0"); sb.setValue(phi); cbd.setState(false); cbl.setState(false); } disp_new(); } void disp_new() { disp.new_function(art + fw, phi); disp.repaint(); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 6 Oszilloscop Oszilloscop Mit einem Oszilloscop können Sie die Spannungsverläufe als Funktion der Zeit beobachten <APPLET CODE="Oszi.class"WIDTH=500HEIGHT=400 > In der obigen Nachbildung eines Oszilloscops können Sie zwischen vier verschieden Spannungsverläufen wählen. Die Darstellung kann als Zeitfunktion oder als Lissajous-Figur über der Funktion sin(x) erfolgen. In der Zeitdarstellung können Sie mit der linken Maustaste einen Meßstrahl zur Pegelbestimmung auslößen. In der Betriebsart "Dynamik" wird der Phasenwikel um 10 Grad je Sekunde verschoben. In einem zusätzlichen Applet-Fenster wir die Funktion sin(x) + 1/3 sin(3x) (Auswahl = 3) bei einer Phasenverschiebung von 210 Grad (Phase = 210) dargestellt. In diesem Fenster ist die Funktionalität auf das Ausmessen von von Pegelwerten beschränkt.

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 7

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 8 Blakenkreuz Balkenkreuz In zwei Applets verschieben Scrollbars die Balken horizontal bzw. vertikal. <APPLET CODE="Hbar.class" NAME="HBAR" WIDTH=300HEIGHT=200 > miteinander kommunizierende Applets <APPLET CODE="Vbar.class" NAME="VBAR" WIDTH=200HEIGHT=250 >

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 9 java.applet.AppletContext > AdjustmentListener java.applet.Applet BarScreen > addVbar() VValueChanged() HBar 1 addHbar() HValueChanged() VBar ScrollBar > getAppletContext()

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 10 import java.awt.*; public class BarScreen extends Canvas { int hvalue, vvalue; public BarScreen() { hvalue = vvalue = 0; setBackground(Color.blue); } public void setHValue(int h) { hvalue = h; } public void setVValue(int v) { vvalue = v; } public void paint( Graphics g ) { g.setColor(Color.yellow); g.fillRect(hvalue * (getSize().width - 20) / 100, 0, 20, getSize().height); g.fillRect(0, vvalue * (getSize().height - 20) / 100, getSize().width, 20); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 11 import java.awt.*; import java.awt.event.*; import java.applet.*; import BarScreen; import Vbar; public class Hbar extends Applet implements AdjustmentListener { int hvalue; Scrollbar hsb; BarScreen bs; AppletContext ac; Vbar vbar_source, vbar_dest; public void init() { hvalue = 0; setBackground(Color.blue); setLayout(new BorderLayout()); //unten hsb = new Scrollbar (Scrollbar.HORIZONTAL, 0, 20, 0, 120); hsb.addAdjustmentListener(this); hsb.setUnitIncrement(1); hsb.setBlockIncrement(10); add(hsb, BorderLayout.SOUTH); setSize(300, 300); //zentral bs = new BarScreen(); add(bs, BorderLayout.CENTER ); ac = getAppletContext(); vbar_source = (Vbar) ac.getApplet("VBAR"); if (vbar_source != null) vbar_source.addHbar(this); vbar_dest = null; } public void addVbar(Vbar vbar) { vbar_dest = vbar; } public void VValueChanged(int vv) { bs.setVValue(vv); bs.repaint(); } public void adjustmentValueChanged (AdjustmentEvent e) { Object obj = e.getSource(); if (obj == hsb) { hvalue = hsb.getValue(); bs.setHValue( hvalue ); if(vbar_dest != null) vbar_dest.HValueChanged(hvalue); bs.repaint(); }

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Applets 12 import java.awt.*; import java.awt.event.*; import java.applet.*; import BarScreen; import Hbar; public class Vbar extends Applet implements AdjustmentListener { int vvalue; Scrollbar vsb; BarScreen bs; AppletContext ac; Hbar hbar_source, hbar_dest; public void init() { vvalue = 0; setBackground(Color.blue); setLayout(new BorderLayout()); //links vsb = new Scrollbar (Scrollbar.VERTICAL, 0, 20, 0, 120); vsb.addAdjustmentListener(this); vsb.setUnitIncrement(1); vsb.setBlockIncrement(10); add(vsb, BorderLayout.WEST); setSize(300, 300); //zentral bs = new BarScreen(); add(bs, BorderLayout.CENTER ); ac = getAppletContext(); hbar_source = (Hbar) ac.getApplet("HBAR"); if (hbar_source != null) hbar_source.addVbar(this); hbar_dest = null; } public void addHbar(Hbar hbar) { hbar_dest = hbar; } public void HValueChanged(int hv) { bs.setHValue(hv); bs.repaint(); } public void adjustmentValueChanged (AdjustmentEvent e) { Object obj = e.getSource(); if (obj == vsb) { vvalue = vsb.getValue(); bs.setVValue( vvalue ); if (hbar_dest != null) hbar_dest.VValueChanged(vvalue); bs.repaint(); }