Das Google Web Toolkit eine Rundreise

Größe: px
Ab Seite anzeigen:

Download "Das Google Web Toolkit eine Rundreise"

Transkript

1 KAPITEL 2 Das Google Web Toolkit eine Rundreise In diesem Kapitel werde ich Ihnen das Google Web Toolkit und die grundsätzliche Arbeitsweise mit dem Toolkit vorstellen. Dabei ist es nicht das Ziel, jedes Feature ausführlich darzustellen, sondern Ihnen einen Überblick zu verschaffen. Wenn Sie mit dem Toolkit bereits vertraut sind, können Sie dieses Kapitel getrost überspringen. Download und Installation Alles, was Sie zum Arbeiten benötigen, ist das Toolkit, das Sie auf der Homepage (http://code.google.com/webtoolkit/) herunterladen können, und ein Java Runtime Environment ab Version 1.4. Nach dem Entpacken des Toolkits in das Dateisystem befinden sich dort einige Jar-Dateien, DLLs (bei der Windows-Version), so-dateien (bei der Linux-Version) bzw. jnilib-dateien (bei der Mac-Version). Außerdem finden Sie dort die Dokumentation, einige Beispiele und ein paar Batch-Dateien, die den Aufruf der Kommandozeilenwerkzeuge etwas komfortabler machen. Dieses Verzeichnis werde ich in Zukunft als GWT-Home bezeichnen. Das Google Web Toolkit ist also zunächst einmal nichts weiter als eine Sammlung von Bibliotheken und einigen Kommandozeilenwerkzeugen. Diese Werkzeuge stellen auch nichts weiter dar als einen komfortableren Weg, die main-methoden von Java-Klassen des GWT aufzurufen. Da das Toolkit in Java geschrieben ist, lässt es sich zudem sehr gut in jede Java-Entwicklungsumgebung integrieren. Arbeitsprinzip Wenn man eine Webanwendung mit Hilfe des Google Web Toolkits erstellen möchte, programmiert man gegen ein Java-API, das vom GWT zur Verfügung gestellt wird. Der eigene Quellcode wird mit Hilfe des GWT-Compilers nach JavaScript übersetzt. Die Packages java.lang und java.util werden dabei emuliert. Für das Ausführen einer mit dem GWT erstellten Webanwendung benötigt man daher später so gut wie keine Bibliotheken des GWT. Im Browser des Benutzers läuft die Anwendung völlig in JavaScript. 15

2 Nur auf dem Server wird eine Bibliothek des GWT benötigt, wenn man den Remote Procedure Call-Mechanismus des GWT verwendet das muss aber nicht zwingend der Fall sein. Durch die GWT-Shell wird der Entwickler bei der Umsetzung von GWT-Anwendungen unterstützt. Sie stellt eine Ablaufumgebung dar, in der die spätere Anwendung ohne ein Kompilieren nach JavaScript ausgeführt werden kann. Dazu bildet sie eine»schale«um einen Browser (Internet Explorer unter Windows und Firefox unter Linux). So ermöglicht das GWT auch das Debuggen einer Webanwendung, die später in JavaScript ablaufen wird. Das Google Web Toolkit setzt sich aus folgenden Bestandteilen zusammen: der GWT-Shell (mit einem integrierten Tomcat) als Entwicklungswerkzeug dem GWT-Compiler zur Übersetzung des Java-Quellcodes nach JavaScript dem GWT-API, gegen das wir die Webanwendung programmieren Projekt generieren Wenn man sich einem unbekannten Werkzeug oder einer neuen Programmiersprache nähert, war es schon immer ein bewährtes Vorgehen, mit einem Hallo-Welt-Beispiel zu beginnen. Das Google Web Toolkit macht es uns in dieser Hinsicht sehr einfach, weil das generierte Grundgerüst eines GWT-Projekts schon ein solches Beispiel ist. Um ein neues GWT-Projekt für die Eclipse-Entwicklungsumgebung zu erstellen, enthält das Toolkit zwei Kommandozeilenwerkzeuge, die ein Grundgerüst der Anwendung generieren können. Dabei ist projectcreator für das Erstellen eines nahezu leeren Eclipse-Projekts verantwortlich und applicationcreator für die eigentlichen Projektquellen. Das Eclipse-Projekt kann über den folgenden Befehl auf der Kommandozeile erstellt werden: projectcreator -eclipse HalloWelt -out HalloWelt Dazu kann man in das GWT-Home-Verzeichnis wechseln oder das GWT-Home-Verzeichnis der PATH-Variable hinzufügen, um den Befehl aus einem beliebigen Verzeichnis heraus aufzurufen. Im Ergebnis wird das Verzeichnis HalloWelt angelegt, und darin werden die beiden Verzeichnisse src und test erstellt. Außerdem werden die Dateien.classpath und.project erstellt, die die Eclipse-Umgebung konfigurieren. Das generierte Eclipse-Projekt erhält den Namen HalloWelt, wie von uns durch den Wert des Parameters eclipse vorgegeben. Als Nächstes werden die eigentlichen Java-Quellen mit dem folgenden Aufruf generiert: applicationcreator -eclipse HalloWelt -out HalloWelt de.gwtbuch.client.hallowelt Auch hier müssen wiederum der Name des Eclipse-Projekts und das Ausgabeverzeichnis angegeben werden. Zusätzlich wird der Name des zu erstellenden GWT-Moduls übergeben. Dieses muss im Package-Namen zwingend client enthalten. 16 Kapitel 2: Das Google Web Toolkit eine Rundreise

3 Das so generierte Projekt kann jetzt in Eclipse importiert werden. Dazu wird der Menüpunkt IMPORT (Kontextmenü oder Menü FILE) benutzt und im dann erscheinenden Dialog die Option»Existing Projects into Workspace«ausgewählt. Anschließend muss nur noch das Verzeichnis HalloWelt angegeben werden. Das Projekt HalloWelt wählt Eclipse automatisch aus. Die Projektstruktur Nach dem erfolgreichen Import des Projektes ist die in Abbildung 2-1 sichtbare Projektstruktur in Eclipse verfügbar. Abbildung 2-1: Die Standard-Projektstruktur in Eclipse Die beiden Batch-Dateien HalloWelt-compile und HalloWelt-shell kann man löschen, da sie für erste Tests mit der Eclipse-Entwicklungsumgebung nicht erforderlich sind und ich in späteren Kapiteln noch zeigen werde, dass man ganz gut ohne sie auskommt. Wer Eclipse nicht benutzt, ist aber auf diese beiden Befehle angewiesen. Damit lässt sich nämlich die GWT-Shell starten und das Projekt nach JavaScript kompilieren. In der Datei HalloWelt.launch speichert Eclipse die Run-Konfiguration für das Ausführen der GWT-Shell. Diese Datei ist dafür verantwortlich, dass sich bereits nach dem Import ein Eintrag HALLOWELT im Dialog für die Run-Konfigurationen befindet. Diesen muss man nur auswählen, und die Shell wird gestartet. Alle nötigen Einstellungen, wie der Classpath, die Parameter und die auszuführende Klasse, sind bereits automatisch eingetragen. Wird die Run-Konfiguration ausgeführt, startet die GWT-Shell und öffnet den Hosted-Browser. Die Projektstruktur 17

4 Die GWT-Shell verfügt über einen integrierten HTTP-Server, der standardmäßig auf Port 8888 gestartet wird. Außerdem enthält sie eine Konsole und in einer Baumstruktur angeordnete Log-Einträge. Der von der Shell gestartete Hosted-Browser verweist auf den URL Dieser URL wurde als Parameter für die GWT-Shell angegeben (beim Generieren in der Run-Konfiguration). Wenn man einen anderen Port benutzen möchte, kann man das in der Run-Konfiguration über den Parameter port ändern. Im Hosted-Browser ist das vom GWT generierte HalloWelt-Beispiel zu sehen (Abbildung 2-2). Abbildung 2-2: Die GWT-Shell und der Hosted-Browser Klickt man auf den Button Click me, erscheint neben dem Button der Text HelloWorld!, klickt man noch einmal, verschwindet der Text wieder. Also eigentlich nichts Spektakuläres aber für die Darstellung der Konzepte ideal geeignet. Wie in Abbildung 2-1 zu sehen ist, besteht das Projekt nur aus drei Quelldateien: der HTML-Datei HalloWelt.html, einer XML-Datei HalloWelt.gwt.xml und einer Klasse HalloWelt, die in der Java-Quelldatei HalloWelt.java definiert ist. Diese drei Dateien sorgen im Zusammenspiel dafür, dass das HalloWelt-Beispiel funktioniert. Die Host-Seite Die HTML-Datei HalloWelt.html ist die so genannte Host-Seite. Dabei handelt es sich um ein ganz normales HTML-Dokument, dessen leicht gekürzter Inhalt eigentlich völlig unscheinbar wirkt: 18 Kapitel 2: Das Google Web Toolkit eine Rundreise

5 Beispiel 2-1: Die Host-Seite des HalloWelt-Beispiels <html> <head> <title>wrapper HTML for HalloWelt</title> <script language='javascript' src='de.gwtbuch.hallowelt.nocache.js'></script> </head> <body> <iframe src="javascript:''" id=" gwt_historyframe" style="width:0;height:0;border:0"></iframe> <h1>hallowelt</h1> <p> This is an example of a host page for the HalloWelt application. You can attach a Web Toolkit module to any HTML page you like, making it easy to add bits of AJAX functionality to existing pages without starting from scratch. </p> <table align=center> <tr> <td id="slot1"></td><td id="slot2"></td> </tr> </table> </body> </html> Wie man sieht, ist es ein HTML-Grundgerüst bestehend aus head- und body-bereich. Im Kopf ist die JavaScript-Datei de.gwtbuch.hallowelt.nocache.js angegeben. Das Laden und Ausführen dieser Datei durch einen Browser sorgt dafür, dass unsere Anwendung geladen wird. Genauer gesagt sorgt sie dafür, dass die richtige JavaScript-Datei nachgeladen wird, die zum verwendeten Browser passt. Das iframe innerhalb der HTML-Seite wird in diesem Beispiel eigentlich nicht benötigt. Es ist nur dann erforderlich, wenn man die Browser-Historie auch innerhalb einer Ein- Seiten-Anwendung verwenden möchte. Außerdem fallen noch die beiden td-elemente mit den IDs slot1 und slot2 auf. Was man nicht findet, ist HTML-Quelltext, der den Button darstellen würde aber dazu gleich mehr. Die Moduldefinition Die XML-Datei HalloWelt.gwt.xml ist die Moduldefinition für unsere Mini-Ajax-Anwendung. Der Inhalt dieser Datei lässt sich am einfachsten begreifen, wenn man diese Datei als Konfigurationsdatei für den GWT-Compiler und die GWT-Shell betrachtet zur Laufzeit wird sie nicht benötigt. In diesem Beispiel ist sie sehr kurz: <module> <inherits name='com.google.gwt.user.user'/> <entry-point class='de.gwtbuch.client.hallowelt'/> </module> Die Projektstruktur 19

6 Das Element inherits gibt an, auf welchen Modulen unser eigenes Projekt basiert. In diesem Fall ist es nur der GWT-Kern. Der GWT-Compiler weiß nun, wo er nach den Quellen suchen muss, die wir in unserem Projekt verwenden. Dazu liest er die angegebene Moduldefinition ein (User.gwt.xml) und wertet sie aus. Dort können wiederum weitere Module angegeben sein, die dann ebenfalls eingefügt werden. Jede GWT-Anwendung, die in eine Host-Seite eingebunden werden soll, benötigt eine Einstiegsklasse. Im Element entry-point ist diese angegeben. Die Einstiegsklasse Die Einstiegsklasse muss das Interface com.google.gwt.core.client.entrypoint implementieren. Es verlangt die Implementierung der Methode onmoduleload. Diese Methode ist der Startpunkt unserer Ajax-Anwendung. Beispiel 2-2: Die Einstiegsklasse für das HalloWelt-Beispiel package de.gwtbuch.client; import com.google.gwt.core.client.entrypoint; import com.google.gwt.user.client.ui.button; import com.google.gwt.user.client.ui.clicklistener; import com.google.gwt.user.client.ui.label; import com.google.gwt.user.client.ui.rootpanel; import com.google.gwt.user.client.ui.widget; public class HalloWelt implements EntryPoint { public void onmoduleload() { final Button button = new Button("Click me"); final Label label = new Label(); button.addclicklistener(new ClickListener() { public void onclick(widget sender) { if (label.gettext().equals("")) label.settext("hello World!"); else label.settext(""); ); RootPanel.get("slot1").add(button); RootPanel.get("slot2").add(label); Innerhalb der onmoduleload-methode werden ein Objekt vom Typ Button und ein Label erstellt. Außerdem wird am Button ein ClickListener registriert. Dessen Methode onclick wird immer dann ausgeführt, wenn der Anwender auf den Button klickt. In diesem Beispiel wird abhängig vom momentanen Text des Labels dessen sichtbarer Text modifiziert. 20 Kapitel 2: Das Google Web Toolkit eine Rundreise

7 Als Letztes werden die beiden Oberflächenkomponenten in die Host-Seite eingefügt. Dazu wird die Methode get der Klasse RootPanel benutzt. Das RootPanel entspricht dabei dem DOM des body-elements der HTML-Seite. Dort wurden die beiden td-elemente mit den IDs slot1 und slot2 definiert. Diese werden jetzt benutzt, um den Button und das Label in das DOM der HTML-Seite einzufügen. Der Hosted-Modus Ihnen wird sicher nicht entgangen sein, dass schon in der Host-Seite eine Datei benutzt wird, die es eigentlich gar nicht im Dateisystem gibt. Die JavaScript-Datei de.gwtbuch.hallowelt.nocache.js werden Sie beispielsweise vergebens suchen. Auch gibt es keine JavaScript-Datei, in der die Anwendungslogik zu finden ist. Für die Bereitstellung dieser Dateien sorgt die GWT-Shell. Sie kümmert sich auch darum, dass auf die HTML- Seite mit dem Pfad de.gwtbuch.hallowelt/hallowelt.html zugegriffen werden kann, obwohl diese ebenfalls nicht unter diesem URL existiert. Damit übernimmt die Shell zwei wesentliche Aufgaben: Zum einen sorgt sie dafür, dass statische Dateien über ihren später durch das Kompilieren festgelegten Pfad verfügbar sind (deshalb müssen sich diese alle im Verzeichnis public befinden). Zum anderen führt sie völlig dynamisch den Java-Quellcode aus, der später als kompiliertes JavaScript im Browser werkelt. Gerade der letzte Punkt ermöglicht es, den Java-Quellcode zu debuggen und gleichzeitig als JavaScript im Browser ablaufen zu lassen. Setzen Sie einfach einmal einen Breakpoint innerhalb der Methode onmoduleload (z.b. an der Zeile if (label.gettext().equals(""))). Starten Sie die GWT-Shell im Debug-Modus und klicken auf den Button. Sie werden feststellen, dass der Eclipse-Debugger an dieser Stelle stehen bleibt und die üblichen Debug-Funktionen von Eclipse verfügbar sind: Sie können sich schrittweise durch den Quellcode bewegen oder sich den Inhalt von Variablen ansehen. Abbildung 2-3: Debuggen der GWT-Anwendung in Eclipse Der Hosted-Modus 21

8 Der Hosted-Modus ist also eine Ablaufumgebung für unsere spätere Anwendung, ohne den Umweg über JavaScript-Dateien gehen zu müssen. Die Anwendung wird als Java- Bytecode ausgeführt. Dadurch ist es möglich, den Quelltext zu debuggen. Da die GWT- Shell im Hosted-Modus auch noch nicht physisch existierende Dateien bereitstellen kann, erreicht man sehr kurze Entwicklungszyklen. Ein in die Shell integrierter Server rundet das Gesamtkonzept der Shell ab. Damit lässt sich auch die spätere Serverkomponente abbilden. Wie kommt man nun aber an die später benötigten JavaScript-Dateien, um die Anwendung in fast jedem beliebigen Browser ablaufen zu lassen? Der Web-Modus Damit die Anwendung im Web-Modus laufen kann, muss das HalloWelt-Beispiel nach JavaScript übersetzt werden. Dazu kann der Button COMPILE des Host-Browsers benutzt werden. Das Ergebnis wird in das Verzeichnis www geschrieben. Man kann dieses Verzeichnis ändern, indem man beim Starten der GWT-Shell ein anderes Verzeichnis für den Parameter out angibt. Im Web-Modus wird also kein Java-Bytecode mehr ausgeführt, sondern JavaScript. Die Anwendung stellt sich im Browser dann so dar, wie es später im produktiven Einsatz der Fall sein wird. Die aktuelle Entwicklung des GWT ist inzwischen so weit fortgeschritten, dass es kaum noch Unterschiede zwischen beiden Modi gibt. Man wird allenfalls feststellen, dass die Anwendung im Web-Modus deutlich schneller abläuft als im Hosted-Modus. Ein nachvollziehbarer Effekt, da der Aufwand für die Emulation entfällt. Die generierten Dateien Auch hier werfen wir einen Blick auf die vom Google Web Toolkit generierten Dateien: Der Compiler hat ein Verzeichnis de.gwtbuch.hallowelt erstellt. Darin befindet sich neben der Host-Seite HalloWelt.html auch die Datei de.gwtbuch.hallowelt.nocache.js, die in der Host-Seite eingebunden wurde, aber bisher nicht zu sehen war. Das Script in dieser Datei stellt fest, in welchem Browser es ausgeführt wird, und lädt dann die zum Browser passende JavaScript-Datei nach. Momentan sind es fünf unterschiedliche Browser, die unterstützt werden: der Internet Explorer, Firefox, Mozilla, Opera und Safari. Auf diese Weise bekommt jeder Browser nur den Quellcode, der für ihn bestimmt ist. Damit reduziert sich die Größe der JavaScript-Datei deutlich. Andernfalls hätte man beispielsweise den Code für jede Eigenheit der Browser mit ausliefern müssen. Die Bezeichnungen der JavaScript-Dateien sehen etwas kryptisch aus beispielsweise 4DC3EF6A10631D3906D4BBB63F5F06BA.cache.js. Der Dateiname besteht aus einem Hashwert. Damit vermeidet man, dass bei einer neuen Version der Anwendung ein altes Script vom Browser geladen wird. Die Bezeichnung cache im Namen macht schon deut- 22 Kapitel 2: Das Google Web Toolkit eine Rundreise

9 lich, dass Browser diese Datei zwischenspeichern können natürlich muss dazu auf Seiten des Webservers etwas nachgeholfen werden. Da das einfache Beispiel keinen aktiven Server benötigt, können Sie sich die HTML-Seite auch einfach mal so im Browser ansehen. Sie werden feststellen, dass sich die Anwendung genauso verhält wie im Hosted-Modus nur dass es etwas schneller geht. Wenn Sie den JavaScript-Quellcode in lesbarer Form ausgeben möchten, dann benutzen Sie den Parameter PRETTY oder DETAILED für die Option style der GWT-Shell. Standardmäßig erfolgt die Ausgabe des generierten JavaScript-Quellcodes im Modus OBF (obfuscated) und ist nur schwer lesbar. Diese Änderung hat aber erst dann Auswirkungen, wenn sich der Ausgangsquelltext ändert. Anpassung der Oberfläche Das Beispiel hat natürlich zunächst ein sehr spartanisches Aussehen. Die Darstellung kann aber, wie in jeder Webanwendung, über Style-Informationen angepasst werden. Importieren von Stylesheets Natürlich wird man diese Information nicht direkt in die HTML-Seite schreiben, sondern in eine CSS-Datei auslagern. Einbinden kann man diese dann über eine Angabe unterhalb des head-elements: <link rel='stylesheet' href='hallowelt.css'/> Oder am besten gleich in der Moduldefinition: <stylesheet src='hallowelt.css'/> Das GWT sorgt dann dafür, dass dieses Stylesheet zur Laufzeit in die HTML-Seite eingefügt wird. Dieses Vorgehen hat einen entscheidenden Vorteil vor allem dann, wenn Sie selbst Module für andere Anwendungen erstellen: Es ist sichergestellt, dass Ihr Stylesheet immer mit ausgeliefert und in die HTML-Seite eingefügt wird. Ohne diesen Weg müssten Sie den Benutzern Ihres Moduls mitteilen, dass sie ein bestimmtes Stylesheet importieren müssen. Änderungen in der Moduldefinition werden erst dann wirksam, wenn man die GWT-Shell neu startet. GWT-Konvention für CSS-Klassen Die vom Google Web Toolkit zur Verfügung gestellten Oberflächenelemente (Widgets) sind zur Laufzeit natürlich nichts anderes als HTML. Allerdings sieht man den Elementen nicht auf den ersten Blick an, aus welchen HTML-Bausteinen (DIVs, Tabellen ) sie zusammengesetzt sind. Je nach Komplexität kann es sich auch um umfangreiche Kombi- Anpassung der Oberfläche 23

10 nationen von HTML-Elementen handeln. Eine Anpassung über Stylesheets wäre damit sehr aufwendig. Um dieses Problem zu lösen, verfügen die Widgets über Default-CSS- Klassen. Im eigenen Stylesheet muss man dann nur diese Klassen angeben und die gewünschten Anpassungen vornehmen. Zum einen findet man die CSS-Klassen der Widgets natürlich in der Dokumentation. Es gibt allerdings auch eine Namenskonvention: Alle CSS-Klassen beginnen mit dem Präfix gwt- gefolgt vom Namen des Widgets. Für den Button lautete der Name also gwt-button. Wenn ein Widget unterschiedliche Zustände hat, folgt nach diesem Namen noch eine Bezeichnung des Zustands. Bei einem ToggelButton können das folgende Zustände sein: up, down, up-hovering, down-hovering, up-disabled und down-disabled. Möchte man also das Aussehen eines gedrückten ToggleButtons ändern, muss die CSS-Klasse gwt-toggle- Button-down lauten. Der erste Teil des Klassennamens wird als Primärname bezeichnet. Man kann diesen über die Methode setstyleprimaryname überschreiben. Mit den Methoden addstylename und removestylename können weitere Klassen zu einem Element hinzugefügt oder entfernt werden. Möglich ist auch, die CSS-Klassennamen mit der Methode setstylename komplett zu ersetzen. Für unser HalloWelt-Beispiel könnte man das Aussehen des Buttons also ganz leicht über folgende Angaben in einem Stylesheet modifizieren:.gwt-button { font-weight: bold; color: #ffffff; background-color: #035D77; border: 1px solid #BDF80E; Elemente anordnen Das HalloWelt-Beispiel demonstriert einen Weg, wie man die Widgets innerhalb der HTML-Seite anordnen kann. Hier wurde die Struktur der Seite in HTML umgesetzt, und die GWT-Widgets wurden per RootPanel.get('ID') an den gewünschten Stellen eingefügt. Dieser Ansatz sorgt für eine starke Abhängigkeit von Host-Seite und GWT-Modul, da beide immer genau aufeinander abgestimmt sein müssen. Vorteil dieses Weges ist aber, dass sich die HTML-Seite deutlich schneller aufbaut als bei dem im Folgenden beschriebenen Weg. Man kann das GWT-Modul vollständig vom Inhalt der Host-Seite trennen. Diese reduziert sich damit auf ein minimales HTML-Dokument, in das unsere GWT-Anwendung eingefügt wird: <html> <head> <title>hallowelt</title> <script language='javascript' src='de.gwtbuch.hallowelt.nocache.js'></script> 24 Kapitel 2: Das Google Web Toolkit eine Rundreise

11 </head> <body> </body> </html> Um die gesamte Anordnung der Widgets muss man sich nun allerdings innerhalb des GWT-Moduls selbst kümmern. Dafür stellt das GWT eine ganze Reihe von Panels zur Verfügung (siehe Anhang für eine vollständige Übersicht). Mit folgendem Quelltext wäre ein ähnliches Aussehen des HalloWelt-Beispiels möglich: Beispiel 2-3: Vollständige Erstellung der Oberfläche ohne HTML in der Host-Seite // Elemente final Button button = new Button("Click me"); final Label label = new Label(); Label titel = new Label("HalloWelt"); titel.setstylename("titel"); Label text = new Label("This is an example..."); // Anordnung VerticalPanel vpanel = new VerticalPanel(); vpanel.add(titel); vpanel.add(text); HorizontalPanel hpanel = new HorizontalPanel(); hpanel.add(button); hpanel.add(label); vpanel.add(hpanel); vpanel.setcellhorizontalalignment(hpanel, HasHorizontalAlignment.ALIGN_CENTER); RootPanel.get().add(vPanel); // Verhalten button.addclicklistener(new ClickListener() { public void onclick(widget sender) { if (label.gettext().equals("")) { label.settext("hello World!"); else { label.settext(""); ); Die Texte der Seite werden als Labels umgesetzt, und dem Titel wird eine eigene CSS- Klasse zugeordnet. Damit ist es möglich, ganz gezielt dieses Element anzusprechen, um beispielsweise die Schriftgröße zu ändern. Die Anordnung auf oberster Ebene erfolgt durch ein VerticalPanel. Diesem Panel kann man beliebige weitere Widgets hinzufügen, die dann alle untereinander angeordnet werden. Die frühere Tabelle, in die der Button und das Label eingefügt wurden, wird jetzt durch ein HorizontalPanel umgesetzt. Damit sind diese Elemente ebenfalls nebenein- Elemente anordnen 25

12 ander angeordnet. Außerdem muss die Zelle des VerticalPanel, die das HorizontalPanel aufnimmt, noch so konfiguriert werden, dass der Inhalt zentriert wird. Im letzten Schritt wird dann das VerticalPanel der HTML-Seite hinzugefügt. Würde man sich das DOM der HTML-Seite ansehen, befindet sich dieses Panel nun direkt unterhalb des body-elements. In diesem Beispiel erfolgt die Initialisierung nach einem Muster: Zuerst werden alle Elemente konstruiert, anschließend wird deren Anordnung festgelegt und zum Schluss das Verhalten hinzugefügt. Ich bezeichne dieses Vorgehen als EAV-Muster. Damit wird der Quellcode für andere Entwickler übersichtlicher, und man findet sich auch selbst schneller im eigenen Code zurecht. (Nicht immer bestehen Oberflächen aus so wenigen Elementen wie hier!) Außerdem stellt man so sicher, dass bei der Umsetzung des Verhaltens alle Oberflächenkomponenten erstellt sind. Auswertung von Ereignissen Alle Ereignisse, auf die Oberflächenelemente reagieren können, sind über Listener auswertbar. Diese Listener sind eine höhere Abstraktionsebene, als es die Ereignisse darstellen, mit denen man üblicherweise in HTML zu tun hat (onclick, onmousedown ). Neben dem im Beispiel benutzten CklickListener gibt es auch spezielle Listener für Maus- und Tastatur-Ereignisse. Damit man nicht gezwungen ist, unbenutzte Methoden der Listener zu implementieren, stellt das GWT auch Adapter zur Verfügung. Adapter sind (eigentlich abstrakte) Klassen, die das jeweilige Listener-Interface implementieren. Als Benutzer muss man dann nur die gewünschten Methoden überschreiben, um auf Ereignisse reagieren zu können. Bereits im HalloWelt-Beispiel wurde der ClickListener als anonyme innere Klasse implementiert und beim Button registriert. Hier noch einmal der wesentliche Quellcode-Ausschnitt: button.addclicklistener(new ClickListener() { public void onclick(widget sender) { //... ); Das Interface wird direkt implementiert, indem der new-operator benutzt wird. Das so entstehende Objekt wird der Methode addclicklistener übergeben. Die Methoden des Interfaces müssen natürlich ebenfalls implementiert werden. Die Adapter werden nach dem gleichen Prinzip instanziiert. Innerhalb der anonymen inneren Klasse kann man auf die Eigenschaften der äußeren Klasse zugreifen. Lokale Variablen müssen zusätzlich als final deklariert werden. Bei Instanzvariablen ist das nicht nötig. Wenn es sich nicht um eine triviale Implementierung beim Ausführen der Methode des Listeners handelt, wird man die Aktion in der Regel an einen Controller weiterleiten. 26 Kapitel 2: Das Google Web Toolkit eine Rundreise

13 Grundsätzlich sollte man sich an das Muster der anonymen inneren Klassen halten, und zwar aus folgenden Gründen: Die Implementierung des Listeners und die auslösende Oberflächenkomponente sind an einer einzigen Stelle miteinander verknüpft. Man gerät so nicht in die Versuchung, den gleichen Listener an den unterschiedlichsten Stellen erneut zu verwenden der entstehende Code wird unwartbar werden. Man vermeidet das häufig anzutreffende Muster, bei dem die Klasse, die die Oberflächenkomponenten enthält, eine Flut an Listener-Interfaces implementiert. In diesen Methoden wird dann per Fallunterscheidung die gewünschte Aktion ausgeführt. Auch hier ist die Entstehung unwartbaren Codes vorprogrammiert, da eine solche Konstruktion sehr umfangreich werden kann. Man ist nicht gezwungen, jede Oberflächenkomponente, auf deren Ereignisse man reagieren möchte, als Instanzvariable zu definieren. Dadurch wird der Quellcode deutlich übersichtlicher. Außerdem kann man kaum in die Falle NullPointerException geraten, weil die Instanzvariable nicht initialisiert wurde. Wenn man neue aktive Komponenten (Button, Comboboxen ) zur Oberfläche hinzufügt oder davon entfernt, ist man nicht gezwungen, bestehenden Code»anzufassen«. Damit verringert sich die Möglichkeit, neue Fehler in die Anwendung einzubauen. Und: Java ist eine objektorientierte Programmiersprache. Man muss also keine Angst davor haben, ein Objekt zu erstellen. Allerdings gibt es eine einzige Bedingung, unter der man von diesem Vorgehen abweichen sollte. Nämlich dann, wenn sehr viele Listener-Objekte erstellt werden müssten. Diese verbrauchen nämlich Ressourcen, da jedes Mal ein Objekt erstellt wird. Das kann in Browsern durchaus ein Problem werden. Bei allen bisher umgesetzten Projekten konnte ich aber keine Stelle identifizieren, an der dieses Problem wirklich auftrat und wie Sie sich sicher vorstellen können, benutzt das Fitnesstagebuch eine ziemlich große Anzahl an anonymen inneren Klassen. Schon für die Drei-Monats-Ansicht sind das immerhin 93. Der Vollständigkeit halber hier das ursprüngliche HalloWelt-Beispiel nach dem Muster: Die Klasse, in der Widgets benutzt werden, implementiert auch die Listener-Interfaces. Beispiel 2-4: Antipattern: Die Klasse implementiert das ClickListener-Interface public class HalloWelt implements EntryPoint, ClickListener { private final Button private final Label button; label; public HalloWelt() { button = new Button("Click me"); label = new Label(); Auswertung von Ereignissen 27

14 Beispiel 2-4: Antipattern: Die Klasse implementiert das ClickListener-Interface (Fortsetzung) public void onmoduleload() { button.addclicklistener(this); RootPanel.get("slot1").add(button); RootPanel.get("slot2").add(label); public void onclick(widget sender) { if (sender == button) { if (label.gettext().equals("")) { label.settext("hello World!"); else { label.settext(""); Die Instanzvariablen sind hier als final deklariert. So bin ich gezwungen, diese schon im Konstruktor zu initialisieren, und vermeide zumindest die Falle NullPointerException. Entscheiden Sie selbst, welche Variante besser lesbar ist zumindest ein kleiner Anhaltspunkt für Wartbarkeit. Kommunikation mit einem Server Für den Datenaustausch zwischen der GWT-Anwendung im Browser und einem Server stellt das Google Web Toolkit unterschiedliche Wege zur Verfügung. Die beste Integration zwischen beiden Welten ist über den eingebauten Remote Procedure Call-Mechanismus möglich. Allerdings verlangt dieser, dass auch die Server-Implementierung in Java erfolgt. Aus diesem Grund und weil diese Form des Datenaustauschs in einem eigenen Kapitel ausführlich behandelt wird, werde ich einen Weg vorstellen, der grundsätzlich mit jedem beliebigen Server funktioniert. Dazu wird das HalloWelt-Beispiel so modifiziert, dass bei einem Klick auf den Button HTML-Quelltext aus einer Datei nachgeladen und an Stelle des Labels angezeigt wird. Man sollte HTML-Quelltext nur dann direkt, so wie im Folgenden dargestellt, in die eigene Webseite einfügen, wenn man den Inhalten vertrauen kann. Andernfalls hat man nämlich den ersten Schritt getan, um Angreifern den Weg in die Browser der Clients zu ermöglichen. Eine genauere Darstellung dieses Problems erfolgt in Kapitel Kapitel 2: Das Google Web Toolkit eine Rundreise

15 Hier zunächst der abgewandelte Quelltext für das Verhalten: Beispiel 2-5: Nachladen von HTML final RequestBuilder request = new RequestBuilder(RequestBuilder.GET, GWT.getModuleBaseURL() + "html.txt"); button.addclicklistener(new ClickListener() { public void onclick(widget sender) { try { request.sendrequest("", new RequestCallback() { public void onerror(request request, Throwable exception) { Window.alert("Fehler: " + exception.getmessage()); public void onresponsereceived(request request, Response response) { if (response.getstatuscode() == 200) { html.sethtml(response.gettext()); else { Window.alert("auch das ist ein Fehler!" + response.getstatuscode()); ); catch (RequestException e) { Window.alert("Fehler: " + e.getmessage()); ); Zunächst muss ein Objekt vom Typ RequestBuilder erstellt werden. Dahinter verbirgt sich das bekannte XMLHttpRequest-Objekt. Allerdings muss man sich hier nicht mit der Erstellung dieses Objektes für unterschiedliche Browser auseinandersetzen darum kümmert sich das GWT. Die Klasse RequestBuilder gehört nicht zum Modul User. Deshalb muss zusätzlich das HTTP-Modul in der Moduldefinition unseres HalloWelt-Beispiels angegeben werden: <inherits name='com.google.gwt.http.http'/> Beim Erstellen des Objektes gibt man an, ob man mit der HTTP-Methode GET oder POST auf die Ressource zugreifen möchte. Der zweite Parameter definiert den URL zur Ressource. Die Methode GWT.getModulBaseUrl liefert den absoluten Pfad zum Modul. Für das lokale Beispiel im Hosted-Browser ist das Welt/. Daran wird noch der Name der Datei (html.txt) angehängt. Diese Datei muss sich im Ordner public befinden also auf der gleichen Ebene wie die Host-Seite Hallo- Welt.html. Beim Klick auf den Button wird die Methode sendrequest des soeben erstellten Objektes aufgerufen. Mit Hilfe des ersten Parameters könnte man Daten mit zum Server senden. Kommunikation mit einem Server 29

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Anzeige des Java Error Stack in Oracle Forms

Anzeige des Java Error Stack in Oracle Forms Anzeige des Java Error Stack in Oracle Forms (Version 2.0) Juni 2008 Autoren: Jürgen Menge / Thomas Robert Seite 1 von 7 Oracle Forms bietet seit der Version 6i die Möglichkeit, serverseitig Java-Klassen

Mehr

Im Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl

Im Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl Eclipse Eclipse ist eine IDE (Integrierte Entwicklungsumgebung), die speziell auf das Programmieren in Java zugeschnitten (und auch selbst in Java geschrieben) ist. Eine solche IDE vereint die Funktionalität

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Benutzerhandbuch. Gästebuch Software - YellaBook v1.0 http://www.yellabook.de. Stand: 01.08.2012. by YellaBook.de - Alle Rechte vorbehalten.

Benutzerhandbuch. Gästebuch Software - YellaBook v1.0 http://www.yellabook.de. Stand: 01.08.2012. by YellaBook.de - Alle Rechte vorbehalten. Benutzerhandbuch Gästebuch Software - YellaBook v1.0 http://www.yellabook.de Stand: 01.08.2012 Inhalt 1 Funktionen... 3 2 Systemanforderungen... 4 3 Installation... 4 4 Einbinden des Gästebuchs... 5 5

Mehr

Vorbereitungen zum SIMOTION Webserver Tutorial Anwenderdefinierte Webseiten

Vorbereitungen zum SIMOTION Webserver Tutorial Anwenderdefinierte Webseiten SIMOTION Tutorials Vorbereitungen zum SIMOTION Webserver Tutorial Anwenderdefinierte Webseiten siemens.com/answers SIMOTION- 2 Webserver aktivieren 3 Demo-Variablen hinzufügen 4 Web-Editor 6 Web- 10 SIMOTION

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Eclipse 3.0 (Windows)

Eclipse 3.0 (Windows) Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

BANKETTprofi Web-Client

BANKETTprofi Web-Client BANKETTprofi Web-Client Konfiguration und Bedienung Handout für die Einrichtung und Bedienung des BANKETTprofi Web-Clients im Intranet / Extranet Der BANKETTprofi Web-Client Mit dem BANKETTprofi Web-Client

Mehr

Programmieren in Java

Programmieren 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

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

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 4 PHP SS 2004 Inhaltsverzeichnis 1. PHP die serverseitige Programmiersprache...1 1.1. PHP - Bereiche in HTML definieren...1

Mehr

RÖK Typo3 Dokumentation

RÖK Typo3 Dokumentation 2012 RÖK Typo3 Dokumentation Redakteur Sparten Eine Hilfe für den Einstieg in Typo3. Innpuls Werbeagentur GmbH 01.01.2012 2 RÖK Typo3 Dokumentation Inhalt 1) Was ist Typo3... 3 2) Typo3 aufrufen und Anmelden...

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

LEHRSTUHL FÜR DATENBANKEN

LEHRSTUHL FÜR DATENBANKEN LEHRSTUHL FÜR DATENBANKEN Informatik II für Verkehrsingenieure Java & Eclipse Installationsguide Prof. Dr.-Ing. Wolfgang Lehner > Was ist Eclipse? Eine sogenannte Integrierte Entwicklungsumgebung (engl.

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen

Mehr

Datenspooler Installationsanleitung Gültig ab Datenspooler-Version 2.2.20.X

Datenspooler Installationsanleitung Gültig ab Datenspooler-Version 2.2.20.X Datenspooler Installationsanleitung Gültig ab Datenspooler-Version 2.2.20.X Inhalt 1. Vorbedingungen... 4 2. Installation... 5 2.1. Umstellung von Datenspooler Version A.03.09 auf Datenspooler-Version

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Erste Schritte mit Elvis 3 ein Beispielprojekt

Erste Schritte mit Elvis 3 ein Beispielprojekt Erste Schritte mit Elvis 3 ein Beispielprojekt Um Sie mit Elvis 3 vertraut zu machen möchten wir mit Ihnen mit diesem Kapitel ein Beispielprojekt vom ersten Aufruf von Elvis 3 bis zum Testlauf aufbauen.

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06 Musterlösung für Schulen in Baden-Württemberg Windows 2003 Basiskurs Windows-Musterlösung Version 3 Stand: 19.12.06 Impressum Herausgeber Zentrale Planungsgruppe Netze (ZPN) am Kultusministerium Baden-Württemberg

Mehr

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de Innovator 11 classix Java Reverse Engineering Ralph Schönleber HowTo www.mid.de Mit Innovator Java Reverse Engineering durchführen Inhaltsverzeichnis Voraussetzungen... 2 Java Reverse Engineering... 2

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Im Folgenden wird die Installation von MySQL 5.0 und Tomcat 5.0 beschrieben. Bei MySQL Server 5.0 handelt es sich um ein

Mehr

Multivariate Tests mit Google Analytics

Multivariate Tests mit Google Analytics Table of Contents 1. Einleitung 2. Ziele festlegen 3. Einrichtung eines Multivariate Tests in Google Analytics 4. Das JavaScript 5. Die Auswertung der Ergebnisse Multivariate Tests mit Google Analytics

Mehr

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Web Visu Tutorial. Hipecs Web Visu. Übersicht Revision Date V100 10082011 Hipecs Web Visu Die hipecs (high performance controller system) bietet die Möglichkeit einer sog Web-Visualisierung über den integrierten Webserver Hierfür wird im Standard

Mehr

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln Version: 0.1 Autor: Anja Beuth Inhaltsverzeichnis 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

WufooConnector Handbuch für Daylite 4

WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 1 Allgemeines 1.1 Das WufooConnector Plugin für Daylite 4 4 2 Einrichtung 2.1 2.2 2.3 Installation 6 Lizensierung 8 API Key einrichten

Mehr

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt. Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK)

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK) Eine Einführung in für mathematisch- technische Assistenten / Informatik (IHK) Autor: Michael Wiedau Version vom 30. August 2006 Inhaltsverzeichnis 1. Den Workspace wählen... 3 2. Ein neues Projekt erstellen...

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

Literatur und Links. Webtechnologien WS 2015/16 Teil 1/Entwicklung

Literatur und Links. Webtechnologien WS 2015/16 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 Bei dem vierten Teil geht es um etwas praktisches: ein Emailformular, dass man auf der eigenen

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

Einrichten eines News-Systems in Typo3

Einrichten eines News-Systems in Typo3 Einrichten eines News-Systems in Typo3 Generelles: tt_news ist eine der beliebtesten Erweiterungen für Typo3 und wir bereits auf vielen Sites Vorarlberger Schulen verwendet: Beispiele: http://www.vobs.at/hsl

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java-

LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java- Eckart Modrow LEGO-Mindstorms-Roboter S. 1 LEGO-Mindstorms-Roboter im Informatikunterricht 1 - mit Java- Benutzung in einer Programmierumgebung Für die LEGO-Roboter stehen unter allen gängigen Betriebssystemen

Mehr

GameGrid mit BlueJ Seite 1

GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ BlueJ ist eine Java-Entwicklungsumgebung mit einer einfachen Benutzeroberfläche. Dem Benutzer stehen ein einfacher Texteditor mit Syntaxhervorhebung und ein

Mehr

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich RAP vs. GWT vs. GAE/J + jquery Web Technologien im Verlgeich RAP vs GWT vs jquery Dominik Wißkirchen 30. Oktober 2010 Abkürzungen RAP AJAX RWT Rich AJAX Platform Asynchronous JavaScript and XML RAP Widget

Mehr

Drupal 8 manuell installieren

Drupal 8 manuell installieren Drupal 8 manuell installieren Version 1.0 Drupal 8 manuell installieren Um die aktuellste Version zu nutzen, muss Drupal manuell installiert werden. Dazu benötigst Du Zugriff auf Dein STRATO Hosting-Paket,

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

Python SVN-Revision 12

Python SVN-Revision 12 Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen

Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen FAEL-Seminar Aktuelle Sicherheitsprobleme im Internet: Angriffe auf Web-Applikationen Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

#58. select-liste (deren Werte durch die Auswahl des Benutzers in der ersten Liste bestimmt werden) direkt über dem Button.

#58. select-liste (deren Werte durch die Auswahl des Benutzers in der ersten Liste bestimmt werden) direkt über dem Button. Dynamisch eine Auswahlliste in einem Rails-Template generieren #58 HACK #58 Dynamisch eine Auswahlliste in einem Rails-Template generieren Hack Generieren Sie mit Hilfe von Ajax und Ruby on Rails eine

Mehr

ASICMS. Das einfache php-framework. Anleitung und Referenz. ASICMS Das einfache php-framework by Andreas Kasper 25. August 2007.

ASICMS. Das einfache php-framework. Anleitung und Referenz. ASICMS Das einfache php-framework by Andreas Kasper 25. August 2007. ASICMS Das einfache php-framework Anleitung und Referenz Seite 1 Inhaltsverzeichnis Inhaltsverzeichnis... 1 Inhaltsverzeichnis... 2 Einführung... 3 Was ist ASICMS?... 3 Was ist ein Widget?... 3 Installation...

Mehr

Visual Web Developer Express Jam Sessions

Visual Web Developer Express Jam Sessions Visual Web Developer Express Jam Sessions Teil 1 Die Visual Web Developer Express Jam Sessions sind eine Reihe von Videotutorials, die Ihnen einen grundlegenden Überblick über Visual Web Developer Express,

Mehr

Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE

Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE EF-III-A6 Einführung in Eclipse Seite 1 von 5 Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE Erläuterung Eclipse/IDE Eclipse ist eine integrierte Open-Source-Entwicklungsumgebung für Software

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

Erstellen eines HTML-Templates mit externer CSS-Datei

Erstellen eines HTML-Templates mit externer CSS-Datei Erstellen eines HTML-Templates mit externer CSS-Datei Eigenschaften der Lösung Menü mit 2 Ebenen ohne Bilder, Menü besteht aus Text (Links) Durch CSS kann das Menü aber auch die Seite angepasst werden

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

Enigma2 Plugin Entwicklung mit Eclipse

Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse 1/15 Inhaltsverzeichnis 1 ÜBER... 3 2 INSTALLATION... 4 2.1 INSTALLATION VON ECLIPSE... 4 2.2 INSTALLATION VON PYDEV... 4 3

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Dokumentation - Schnelleinstieg FileZilla-FTP

Dokumentation - Schnelleinstieg FileZilla-FTP Dokumentation - Schnelleinstieg FileZilla-FTP Diese Anleitung zeigt Ihnen in aller Kürze die Bedienung des FileZilla-FTP-Clients. Standardmäßig braucht FileZilla nicht konfiguriert zu werden, daher können

Mehr

INSTALLATION. Voraussetzungen

INSTALLATION. Voraussetzungen INSTALLATION Voraussetzungen Um Papoo zu installieren brauchen Sie natürlich eine aktuelle Papoo Version die Sie sich auf der Seite http://www.papoo.de herunterladen können. Papoo ist ein webbasiertes

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Debugging in APEX. Christina Funke Apps Associates GmbH Dortmund

Debugging in APEX. Christina Funke Apps Associates GmbH Dortmund Debugging in APEX Christina Funke Apps Associates GmbH Dortmund Schlüsselworte Oracle Application Express, APEX, Debugging, Debugging Collection, Remote Debugging mit SQL- Developer, Error Handling, benutzerfreundliche

Mehr

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.

Mehr

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

a) WebDav-Laufwerk einrichten (Windows Vista, W7, W8) Seite 2

a) WebDav-Laufwerk einrichten (Windows Vista, W7, W8) Seite 2 DIANIZER 3.0 WEB einrichten Inhalt a) WebDav-Laufwerk einrichten (Windows Vista, W7, W8) Seite 2 b) Dianizer WEB einrichten Seite 5 b1) Rufen Sie Ihre Wunsch-Subdomain auf. Seite 5 b2) Melden Sie sich

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling)

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling) 1. BlueJ installieren... 1 2. BlueJ auf die deutsche Version umstellen... 1 3. BlueJ Extensions... 2 a. Klassenkarte... 2 i. UML Extension... 2 ii. Klassenkarte zum Schulbuch... 3 b. CNU BlueJ Code Formatter...

Mehr

4 Die FrontPage-Website

4 Die FrontPage-Website 4 Die FrontPage-Website Ziele dieses Kapitels A Sie lernen die Struktur einer Website kennen. A Sie können Websites verschachteln. A Sie können Websites konvertieren. Microsoft Office Frontpage 2003 Einführung

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Collax Web Application

Collax Web Application Collax Web Application Howto In diesem Howto wird die Einrichtung des Collax Moduls Web Application auf einem Collax Platform Server anhand der LAMP Anwendung Joomla beschrieben. LAMP steht als Akronym

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15 Plugins entwickeln für den VM Slide Explorer 2010 Daniel Heim, 17.08.2011 Seite 1/15 Inhaltsverzeichnis 1 Allgemeines... 3 2 Ein Plugin schreiben... 4 3 Ein Plugin registrieren... 11 4 Aktivieren von Plugins...

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Programmierung eines NewsTickers in Java

Programmierung eines NewsTickers in Java Programmierung eines NewsTickers in Java ( & ) Projektarbeit Programmiertechnik:Java NTA FH Isny 12. Info David Mayr / Andreas Krug Seite 1 von 7 ::: David Mayr / Andreas Krug [ 12. Info NTA FH Isny ]

Mehr

Java Einführung Packages

Java Einführung Packages Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Einrichtung für Remotedesktopdienste (Windows Server 2012 R2)

Whitepaper. Produkt: combit Relationship Manager / address manager. Einrichtung für Remotedesktopdienste (Windows Server 2012 R2) combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Einrichtung für Remotedesktopdienste (Windows Server 2012 R2) Einrichtung für Remotedesktopdienste

Mehr