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

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

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

Grundlagen der Programmierung APPLETS

Kapitel 2: Grafische Benutzeroberflächen

Java - Programmierung - Applets 1

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

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

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

8.6 Visualisierung der Sortieralgorithmen

Einführung in GUI-Programmierung. javax.swing

Javakurs für Fortgeschrittene

Funktionale und Objekt-Orientierte Programmierkonzepte

GUI Programmierung mit JAVA Swing

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

Kapitel 8: Grafische Benutzerschnittstellen

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)

Grafische Benutzeroberflächen

Programmiertechnik GUI Programmierung mit Java Swing

Java für Computerlinguisten

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen

Grafische Benutzeroberflächen

Einführung in GUI-Programmierung. javax.swing

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

JLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg )

Grafische Benutzeroberflächen

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

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel

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

Workshop zu Folge 9.3 Überarbeitete Version vom Mai 2016

Einstieg in die Informatik mit Java

Ereignisse (Events) in Java

Objektorientierte Software-Entwicklung

11. GUI-Programmierung mit SWING Überblick

NTB Druckdatum:

Einstieg in die Informatik mit Java

Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele:

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

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

Einführung in Java, Teil 6

Medientechnik. Übung 2 Java Swing

Eingabe von Texten. Vorlesung Software-Entwicklung / Folie 101

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

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik

Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java

Universität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek

Dr. Monika Meiler. Inhalt

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

Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009

Swing : Komponeneten I (Teil 1) Was ist Swing?

Vorlesung Informatik II

Universität Potsdam Institut für Informatik Sommersemester Programmierung. Lehrblatt Woche 11

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

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

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

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

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

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

Graphical User Interfaces

Eine Testoberfläche Mockup simuliert die Vorgänge Betrag aufladen, Betrag bezahlen und Guthaben abfragen mit einer Geldkarte.

JAVA 3. Arbeitsblätter für die Lehrveranstaltung OOP. III. Applets und JavaScript. Das Applet-Tag:

public class Beispiel1 extends Frame {

Einführung in die Programmierung für NF. Übung

Javakurs für Fortgeschrittene

Graphische Benutzungsoberflächen

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme

Inhaltsverzeichnis. Rechenmaschinen - EINFÜHRUNG IN DIE OOP MIT JAVA PI - KAPITEL 1: GRAFIK UND GUIS - V SEITE 1 VON 10 -

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

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

parallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher.

14. Applets. Java-Beispiel: TempApplet.java. K. Bothe, Inst. f. Informatik, HU Berlin, PI1, WS 2006/07

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

1. Erzeugen eines neuen leeren Applets

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

14. Applets. Java-Beispiel: TempApplet.java TempApplet.html. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

7.5 Mit bunten Kreisen spielen

GUIs in Java und ihre Programmierung

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

OOP: Nebenläufigkeiten Threads. Dipl.-Inform. Arnold Willemer

14. Applets. Schwerpunkte. Zwei Arten von Java Programmen. Java-Applets durch Web-Browser starten? Anwendungen und Applets

Session 1: Classes and Applets

Parallele Prozesse. Prozeß wartet

FAKULTÄT FÜR INFORMATIK

Tag 9: Grafische Benutzeroberflächen

2A Basistechniken: Weitere Aufgaben

Praktikum 4: Grafiken und Ereignisse

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

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

Schritt 1 - Ein Spielfeld

Eine Testoberfläche Mockup simuliert die Prozesse Profil anlegen und Anmelden als Benutzer des Produkt-Pflege-Systems.

Transkript:

Kapitel 3: Java Applets 1

Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite <html> <head> </head> <body> Anfang des umgebenden HTML-Textes <applet code="applet1.class" width="600" height="400"> </applet> Ende des umgebenden HTML-Textes </body> </html> 2

Beispiel 1: Applet1.html <html> <head> <title>main</title> </head> <body> <hr> Ein Applet, das Werte des Textfeldes beim Auslösen eines ActionEvents, z.b. durch Drücken der Enter-Taste, in die TextArea übernimmt <p> <applet code="applet1.class" width="600" height="400"> </applet> </p> <hr> </body> </html> 3

Beispiel 1: Applet1.java (1) public class Applet1 extends JApplet { private JTextField tfio; private JTextArea taoutput; public void init() { // wird 1x beim starten gerufen tfio = new JTextField("pc600"); taoutput = new JTextArea(""); taoutput.seteditable(false); Container cp = getcontentpane(); cp.add(tfio, BorderLayout.NORTH); cp.add(taoutput, BorderLayout.CENTER); tfio.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { updatetext(); ); updatetext(); 4

Beispiel 1: Applet1.java (2) public class Applet1 extends JApplet { private JTextField tfio; private JTextArea taoutput; public void init() { tfio.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { updatetext(); ); updatetext(); public void updatetext() { private String ausgabe = "\nhallo sagt\nihr Applet\n"; ausgabe += tfio.gettext(); taoutput.settext(ausgabe); // in die TextArea schreiben 5

Typische Verwendung der Applet-Methoden können in Applets (Unterklassen von JApplet) neu definiert werden. class meinapplet extends JApplet { public void init() {... // wird 1x beim Laden des Applets aufgerufen // darin definiert man GUI-Komponenten und Listener public void start() {... // wird beim 1. Lauf des Applets aufgerufen // darin startet man Anwedungen (Threads) public void paint( Graphics g ) {... // wird bei jedem Neuzeichnen des Applets aufgerufen // darin zeichnet man Diagramme etc. 6

In Applets Oberflächen gestalten Da JApplet eine Unterklasse von Panel ist, kann man wie bei andern Swing- Komponenten auch GUI-Komponenten hinzufügen (Buttons, Labels, Edit-Felder, ) und dieselben Events behandeln in public void init() {... // wird 1x beim Laden des Applets aufgerufen // darin definiert man GUI-Komponenten und Listener Wie in Swing kann man auf die Zeichenfläche von Applets zeichnen in public void paint( Graphics g ) {... // wird bei jedem Neuzeichnen des Applets aufgerufen // darin zeichnet man Diagramme etc. 7

Parameterübergabe an Applets (1) <html> <head> <title>applet mit Parametern</title> </head> <body> <hr> Wir setzen Parameter filiale="frankfurt am Main" <p> <applet code="applet4.class" width="400" height="200"> <param name="filiale" value="frankfurt am Main"> </applet> </p> <hr> </body> </html> Applet4.html 8

Parameterübergabe an Applets (2a) import java.awt.event.actionlistener; import javax.swing.*; public class Applet4 extends JApplet { private JTextField tf; private JTextArea anzeige; public void init() { // wird 1x beim starten gerufen... // Oberfläche konstruieren siehe nächste Folie String filialort = getparameter("filiale"); // Parameter tf.settext( filialort ) ; // in Textfeld schreiben updatetext(); private void updatetext() { String ausgabe = "\nkaufen Sie am besten direkt in unserer Filiale\n"; ausgabe += tf.gettext(); anzeige.settext(ausgabe); // in die TextArea schreiben Applet4.java 9

Parameterübergabe an Applets (2b) public void init() { // wird 1x beim starten gerufen JLabel l = new JLabel("Ihr Wohnort: "); // Label anlegen tf = new JTextField(""); // Textfeld anlegen anzeige = new JTextArea(""); // TextArea anlegen anzeige.seteditable(false); // TextArea nichteditierbar JPanel panel = new JPanel(); // Panel anlegen panel.setlayout(new FlowLayout()); // Panel-Layout festlegen panel.add(l); // Label aufs Panel panel.add(tf); // Textfeld aufs Panel Container cp = getcontentpane(); // Applet-Container holen cp.add(panel, BorderLayout.NORTH); // Panel auf den Container cp.add(anzeige, BorderLayout.CENTER); // TextArea zum Container tf.addactionlistener(new ActionListener() { // tf soll reagieren public void actionperformed(actionevent e) { // auf Return updatetext(); // mit updatetext(); // ); // Ende anonyme Klasse String filialort = getparameter("filiale"); // Parameter abfragen tf.settext( filialort ) ; // u. in Textfeld schreiben updatetext(); Applet4.java 10

Applets und Threads Threads sind leichtgewichtige Prozesse, die nebenläufig zu anderen Threads abgearbeitet werden können ( mehr dazu in einem Extra-Kapitel) In Applets können Threads gestartet werden in: class meinapplet extends JApplet { public void start(){ // wird beim 1. Lauf des Applets aufgerufen // darin startet man Anwedungen (Threads) Ein Thread führt, während er läuft, seine run()-methode aus. Laufende Threads können u.a. eine Zeit lang angehalten werden, z.b. sleep(500) ; // Thread wartet 500 ms 11

Applets und Threads - Beispiel (1) import java.awt.* ; import javax.swing.japplet ; public class SE6 extends JApplet { public void init() { // 1x bei Initialisierung MyT myt = new MyT(getGraphics()) ; // im neuangelegten Thread // Graphik übergeben myt.start(); // starte angelegten Thread class MyT extends Thread // definiert Thread { Graphics ag ; // Graphik lokal speichern MyT( Graphics g ) { ag=g ; // im Thread-Kontruktor // Graphik übernehmen public void run() // wenn Thread läuft, tue... {... 12

Applets und Threads - Beispiel (2) class MyT extends Thread { Graphics ag ; MyT( Graphics g ) { ag=g ; // definiert Thread // übernehme Zeichenfläche public void run() { int x=200, y=200 ; while (true) try { sleep(500) ; x+=10 ; y+=10 ; repaint() ; // wenn Thread läuft, tue folgendes: // Thread wartet 500 ms // neu zeichnen ag.drawrect( 100, 100, x, y ) ; ag.drawoval( 100, 100, x, y ) ; catch ( InterruptedException e ) { // unterbrochen? 13

Zusammenfassung Applets Applets sind kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite man kann (wie bei andern Swing-Komponenten auch) GUI-Komponenten hinzufügen (Buttons, Labels, Edit-Felder, ) und dieselben Events behandeln man kann in der init-methode von Applets (wie in anderen Programmen auch) Threads erzeugen und Thread starten 14