Dem Greifen Leben einhauchen

Größe: px
Ab Seite anzeigen:

Download "Dem Greifen Leben einhauchen"

Transkript

1 Griffon Das Tutorial Griffon im praktischen Einsatz Dem Greifen Leben einhauchen Quellcode auf CD! Nach der Einführung in die Konzepte von Griffon werden wir in diesem Teil Quellcode sehen und mit der Entwicklung beginnen. Dabei bekommen Sie Tipps für die Arbeit mit Griffon [1] sowie Lösungen zu bekannten Problemen. von Alexander Klein Bevor wir loslegen, soll zur Erinnerung die Problemstellung unseres Projekts Babylonier wiederholt werden. I18n-Unterstützung Zur Entwicklungsunterstützung von internationalisierten Anwendungen wird folgender Prozess umgesetzt: Während der Entwicklung werden.properties-dateien mit Key-Value-Paaren für Instanzen von java.util. ResourceBundle verwendet. Die Entwickler pflegen ausschließlich die.properties- Datei ohne Locale-Informationen, die im Weiteren als Default-Sprache bezeichnet wird. Eine Sprache wird als Basissprache für die Übersetzungen definiert und über einen redaktionellen Prozess aus der Default-Sprache erstellt und gepflegt. Die Basissprache wird an das Übersetzungsbüro übergeben und die übersetzten Texte werden parallel zu den Dateien der Default-Sprache und der Basissprache im Anwendungsquellcode abgelegt. Es muss überwacht werden, ob alle Texte in alle Sprachen übersetzt wurden, ob sich ein Text in der Default- Sprache geändert hat und neu übersetzt werden muss, oder gar ein Key aus der Anwendung gelöscht wurde. Für diesen Prozess muss unser Tool folgendes erfüllen: Quellpfad rekursiv nach den Dateien der Default- Sprachen von ResourceBundles durchsuchen und alle Key-Value-Paare mitsamt ihrem Ursprung in einer Datenbank ablegen. Dazu den Key-Status speichern: Key angelegt, verändert oder gelöscht Erfassen bzw. Ändern der Texte der Basissprache für die eingelesenen Keys Exportieren der Texte einer Sprache für das Übersetzungsbüro Importieren der übersetzten Texte für die jeweilige Sprache Erzeugen der sprachspezifischen ResourceBundle- Dateien an der richtigen Stelle im Quellpfad Das Layout Babylonier soll eine ordentliche Anwendung werden, deshalb betten wir es in ein gängiges Layout (Abb. 1, links: eine Menüzeile und Statusleiste, ein Navigationsbereich links und eine Fläche für die einzelnen Funktionen. Wenn externe Bibliotheken wie zum beispiel MiGLayout [2] als LayoutManager verwendet werden sollen, gibt es in Griffon drei Möglichkeiten, diese einzubinden: Man legt die.jar-datei in den /lib-ordner im Projektverzeichnis, dieses wird automatisch in den Classpath aufgenommen. Wenn die Bibliothek in einem Maven Repository zur Verfügung steht, kann sie als Abhängigkeit in griffon-app/config/buildconfig. unter griffon.project.dependency.resolution.dependencies eingetragen werden. Für einige Bibliotheken existieren Plug-ins [3]. Sie liefern nicht nur die.jar-datei mit, sondern bieten oft zusätzliche Funktionen. Mit griffon list-plugins kann man sehen, welche Plug-ins installierbar und welche installiert sind. Auf der Griffon- Webseite gibt es eine aufbereitete Liste mit weitergehenden Informationen. Plug-ins Für MiGLayout existiert ein Plug-in, das einen Builder- Knoten liefert und das wir mit dem Kommando griffon javamagazin

2 Das Tutorial Griffon install-plugin miglayout installieren. Weil das Menü und die Navigation mit Icons ausgestattet werden, installieren wir mit griffon install-plugin crystalicons Everaldos Listing 1: griffon-app/model/babylonianmodel. import.beans.bindable class BabylonianModel String currentelement = ' String status Listing 2: griffon-app/views/babylonianview. build(babylonianactions application(title: 'Babylonian', name: 'MainFrame', // for shutdownhook size: [1000, 750], //pack: true //location: [50,50], locationbyplatform: true, iconimage: imageicon('/griffon-icon-48x48.png'.image, iconimages: [imageicon('/griffon-icon-48x48.png'.image, imageicon('/griffon-icon-32x32.png'.image, imageicon('/griffon-icon-16x16.png'.image] { menubar(build(babylonianmenu miglayout(layoutconstraints: 'fill' buttongroup(id: 'group' panel(id: 'navigation', constraints: 'dock west, width 150' { miglayout(layoutconstraints: 'wrap 1, fill', columnconstraints: 'fill', rowconstraints: 'fill' togglebutton(id: 'overviewbutton', action: overviewaction, buttongroup: group togglebutton(id: 'scanbutton', action: scanaction, buttongroup: group togglebutton(id: 'editbutton', action: editaction, buttongroup: group togglebutton(id: 'generatebutton', action: generateaction, buttongroup: group togglebutton(id: 'exportbutton', action: exportaction, buttongroup: group togglebutton(id: 'importbutton', action: importaction, buttongroup: group togglebutton(id: 'configbutton', action: configaction, buttongroup: group panel(id: 'content', constraints: 'dock center' { cardlayout( widget(app.views.overview.mainpanel, constraints: 'overview' widget(app.views.scan.mainpanel, constraints: 'scan' widget(app.views.edit.mainpanel, constraints: 'edit' widget(app.views.export.mainpanel, constraints: 'export' widget(app.views.import.mainpanel, constraints: 'import' widget(app.views.generate.mainpanel, constraints: 'generate' widget(app.views.config.mainpanel, constraints: 'config' controller.navigate('overview' panel(build(babylonianstatusbar, constraints: 'dock south' Crystal Icons Set [4]. Plug-ins können nicht nur Bibliotheken und Ressourcen liefern. Sie können Griffon sowohl zur Entwicklungszeit als auch zur Laufzeit erweitern: Skripte können zur Entwicklungszeit genutzt werden und erleichtern die Entwicklung (z. B. griffon crystalicon-selector öffnet ein Vorschaufenster zur Icon- Auswahl Builder und Builder-Knoten erweitern die Möglichkeiten, Views zu erstellen Plug-ins können neue Artefakte liefern (z. B. nutzt das Spock-Plug-in ein Artefakt für Test-Specs Sie können zusätzliche Funktionen wie einen Ladebildschirm oder neue Komponenten bieten Der Rahmen Nachdem wir im letzten Artikel die ModelViewCon troller-gruppe (im Weiteren MVCGroup genannt schon verwendet haben, ersetzen wir sie durch den Code in Listing 1 bis 3. BabylonianModel enthält nur zwei Eigenschaften vom Typ String, um eine Statusmeldung und die aktuelle Position in der Navigation anzuzeigen. Um die BabylonianView überschaubar zu halten, teilen wir die Oberfläche in mehrere Dateien auf und lösen die Erstellung der Actions (BabylonianActions, Listing 4, des Menüs (BabylonianMenu, Listing 5 und der Statuszeile (BabylonianStatusBar, Listing 6 heraus. Listing 3: griffon-app/controllers/ BabylonianController. import java.awt.event.windowevent import griffon.transform.threading class BabylonianController { // these will be injected by Griffon def model def view private def oldmvc // Navigation def navigate = { mvcname -> model.currentelement = view."${mvcnamebutton".text view.group.setselected(view."${mvcnamebutton".model, true view.content.layout.show(view.content, mvcname app.event('navigation', [mvcname, oldmvc] oldmvc = mvcname // Menu actions def exit = { evt = null -> def wnd = app.windowmanager.findwindow('mainframe' wnd.processwindowevent(new WindowEvent(wnd, WindowEvent. WINDOW_CLOSING def about = { evt = null -> 80 javamagazin

3 Griffon Das Tutorial Um auf die Actions im Menü und in der Navigation verweisen zu können, müssen sie zuerst erstellt werden. Das geschieht mit build(babylonianactions, wobei dieselbe Builder-Instanz wie bei BabylonianView für die Erstellung verwendet wird. Somit sind alle nicht lokalen Variablen und Komponenten mit id-attribut im gesamten Kontext des Builders verfügbar. BabylonianActions ist eine Sammlung von Actions, wie sie bei SwingBuilder [5] beschrieben ist. Die Attribute smallicon und swinglargeiconkey definieren die Icons in der Menüzeile und in den Navigationsbuttons. Das Crystal-Icon-Plug-in bietet uns mit dem Knoten crystalicon eine bequeme Möglichkeit, ein Icon aus der Bibliothek zu verwenden. Die Actions für Exit und About führen die gleichnamigen Closures in BabylonianControl ler aus. Alle anderen rufen die Methode navigate mit dem Namen der anzuzeigenden MVCGroup auf. Gehen wir zurück zu BabylonianView. Weil wir später das Applikationsfenster aus dem Code referenzieren müssen, bekommt der application-knoten den Namen MainFrame, dessen Größe wir auf 1000 x 750 definieren. Mit menubar(build(babylonianmenu binden wir die JMenuBar-Instanz, die das Script mit unserer Abb. 1: Layout für unseren Rahmen: Schema und Ergebnis Menüdefinition zurückliefert, an unser Fenster. Wenn ein SwingBuilder-Knoten eine Instanz als Parameter übergeben bekommt, wird keine neue erzeugt, sondern die übergebene Instanz an dieser Stelle verwendet. Die Menüleiste in BabylonianMenu besteht aus zwei Menüs: File und Help. Help hat ein JMenuItem, About, und wird mit glue( rechtsbündig ausgerichtet. Im File- Menü spiegeln wir die Einträge der Navigation und fügen den Punkt Exit hinzu (außer Mac-OS-X-System. Hier ist zu sehen, dass ein View-Skript ein normaler, ausführbarer Code ist und somit dynamisch generiert werden kann. Indem wir die Actions referenzieren, wer- Listing 4: griffon-app/views/babylonianactions. actions { action(id: 'overviewaction', name: 'Overview', shortdescription: 'Overview', mnemonic: 'O', accelerator: shortcut('o', smallicon: crystalicon(icon: 'agt_web', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'agt_web', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('overview' action(id: 'scanaction', name: 'Scan', shortdescription: 'Scan for unlocalized properties', mnemonic: 'S', accelerator: shortcut('s', smallicon: crystalicon(icon: 'filefind', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'filefind', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('scan' action(id: 'editaction', name: 'Edit', shortdescription: 'Edit translations', mnemonic: 'E', accelerator: shortcut('e', smallicon: crystalicon(icon: 'edit', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'edit', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('edit' action(id: 'generateaction', name: 'Generate', shortdescription: 'Generate localized properties', mnemonic: 'G', accelerator: shortcut('g', smallicon: crystalicon(icon: 'gear', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'gear', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('generate' action(id: 'exportaction', name: 'Export', shortdescription: 'Export keys for translation', mnemonic: 'x', accelerator: shortcut('ctrl E', smallicon: crystalicon(icon: 'download', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'download', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('export' action(id: 'importaction', name: 'Import', mnemonic: 'I', accelerator: shortcut('ctrl I', shortdescription: 'Import translated keys', smallicon: crystalicon(icon: 'folder_sent_mail', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'folder_sent_mail', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('import' action(id: 'configaction', name: 'Configure', shortdescription: 'Configure', mnemonic: 'C', accelerator: shortcut('ctrl f', smallicon: crystalicon(icon: 'configure', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'configure', size: 32, category: 'actions', closure: { evt = null -> controller.navigate('config' action(id: 'exitaction', name: 'Exit', shortdescription: 'Exit this application', mnemonic: 'x', accelerator: shortcut('ctrl X', smallicon: crystalicon(icon: 'exit', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'exit', size: 32, category: 'actions', closure: controller.exit action(id: 'aboutaction', name: 'About', shortdescription: 'Informations about this application', mnemonic: 'A', accelerator: shortcut('a', smallicon: crystalicon(icon: 'documentinfo', size: 16, category: 'actions', swinglargeiconkey: crystalicon(icon: 'documentinfo', size: 32, category: 'actions', closure: controller.about javamagazin

4 Das Tutorial Griffon Listing 5: griffon-app/views/babylonianmenu. import static griffon.util.griffonapplicationutils.isismacosx menubar { menu(text: 'File', mnemonic: 'F' { menuitem(overviewaction menuitem(scanaction menuitem(editaction menuitem(exportaction menuitem(importaction menuitem(generateaction menuitem(configaction if (!ismacosx { separator( menuitem(exitaction glue( menu(text: 'Help', mnemonic: 'H' { menuitem(aboutaction Listing 6: griffon-app/views/babylonianstatusbar. panel(id: 'statuspanel' { miglayout(layoutconstraints: 'fill', columnconstraints: '5[150][fill, right]' label(id: 'status', text: bind { model.status, horizontalalignment: SwingConstants.LEADING label(id: 'currentelement', text: bind { model.currentelement, horizontalalignment: SwingConstants.TRAILING Listing 7: griffon-app/views/overviewview. und alle anderen neuen Views scrollpane(id: 'mainpanel' { panel( { den die Informationen wie Text und Icon automatisch übernommen. Zurück in BabylonianView sehen wir ein JPanel mit unserer Navigation: eine ButtonGroup mit JToggleButtons für jeden Eintrag. Auch hier werden alle anzuzeigenden Informationen aus den Actions übernommen. Für den Hauptbereich verwenden wir ebenfalls ein JPanel, das CardLayout als LayoutManager bekommt. Das entspricht einer JTabbedPanel ohne Reiter, denn diese Funktion soll unsere Navigation bzw. das Menü übernehmen. Als Inhalt der einzelnen, reiterlosen Seiten fügen wir eine Komponente mit dem Namen mainpanel aus der entsprechenden View der MVCGroup hinzu. Leider ist es uns nicht unbedingt bekannt, welchen Typ mainpanel hat. Deshalb verwenden wir den Knoten widget, der zwar keine neue Instanz erzeugen, dafür aber alle Objekte vom Typ java.awt.component aufnehmen kann. Zudem existiert noch der Knoten container, der im Gegensatz zu widget andere verschachtelte Knoten aufnehmen kann. Der Inhalt Da wir noch gar keine MVCGroups für die einzelnen Funktionen haben, müssen wir die MVCGroups overview, scan, edit, generate, import, export und config mit griffon create-mvc overview etc. anlegen. Alle View- Skripte dieser MVCGroups sollen erst einmal wie Listing 7 aussehen und sind leere JScrollPanes. Zur Laufzeit müssen die MVCGroups instantiiert werden. Das kann man dynamisch mit dem Befehl buildmvcgroup(string groupname tun. Weil wir aber die MVCGroups beim Start instantiieren müssen, können wir das auch Griffon selbst erledigen lassen. In griffon-app/conf/application. gibt es unter application den Eintrag startgroups. Hier tragen wir MVCGroups ein, die beim Start instantiiert werden sollen. In unserem Fall also Folgendes: startupgroups = ['overview', 'scan', 'edit', 'generate', 'import', 'export', 'config', 'babylonian'] Bevor nun die Statusleiste aus Listing 6 eingebettet wird, müssen wir sicherstellen, dass beim Start die MVC- Group overview angezeigt wird. Dazu führen wir die navigate-methode programmatisch aus. Die Logik In BabylonianController steht unsere Logik, die über die Navigation und das Menü aufgerufen wird. Die Closure exit simuliert ein reguläres Schließen über den Schliessen-Button des Fensters, wobei wir über den WindowManager an das Fenster mit dem vorher vergebenen Namen MainFrame gelangen. Der Menüpunkt Help About soll hier nicht ausprogrammiert werden, deshalb schreiben wir nur eine leere Closure about. Alle anderen Aktionen rufen navigate auf. Wie im letzten Artikel schon erwähnt, werden alle Controller-Methoden standardmäßig außerhalb des Event Dispatch Threads aufgerufen. Dazu wird ein eigener Thread gestartet. Der Aufruf von navigate sollte das aber nicht tun, um Threads und Ressourcen zu sparen. Deshalb wird das Thread- Handling für diese Methode mit der ausgeschaltet. 82 javamagazin

5 Griffon Das Tutorial In navigate setzen wir zuerst den Buttontext des aktuell ausgewählten Menüpunkts in die Eigenschaft currentelement in unserem Modell, die an die Statusleiste gebunden ist. Dann wechseln wir die Selektion in der ButtonGroup und füllen den Inhaltsbereich mit der View des ausgewählten Menüpunkts. Zuletzt feuern wir ein Event Navigation, damit unsere Anwendung auf diese Selektion reagieren kann. Das Eventsystem Griffons Eventsystem ist zweigeteilt in Build-Events und Application-Events. Build- Events ermöglichen es, auf den Build-Prozess zu reagieren oder ihn gar zu beeinflussen. Jedes Griffon-Skript im Ordner scripts kann mit event("<eventname>", [<Parameter>] Nachrichten versenden. Im speziellen Griffon-Skript scripts/_ Events. können Listener registriert werden, indem man eine Closure mit dem Namen event<eventname> erstellt. Genauere Informationen sind im Griffon Guide, Kapitel 4 zu finden [6]. Application-Events sind Laufzeitevents. An einen zentralen Bus werden Events gesendet bzw. Listener registriert. An diesen Bus gelangen wir über die GriffonApplication, auf die wir von überall mittels der automatischen Variable app Zugriff haben: Mit app.event, app.eventasync und app.eventoutside, entsprechend der Logik des ThreadHandling aus dem vorigen Artikel, können Events versandt werden. Über app.addapplicationeventlistener werden Listener registriert. (Senior Consultant Java Technologies (m/w DSLs? J2SE & JEE? GUIs & RCP? Design & Architektur? Web, Mobile, Desktop? Um es dem Entwickler einfacher zu machen, sind automatisch alle Closures eines Controllers mit der folgenden Form als Listener registriert: on<eventname> = { args ->. So können z. B. in den Controllern der Inhaltsseiten Daten aktualisiert werden, sobald die View angezeigt wird: def onnavigation = { newmvc, oldmvc -> if(newmvc == 'overview' loaddata( Die Datei griffon-app/conf/events. fungiert als Platz für globale Event Handler, die schon vor dem Erstellen von MVCGroups funktionsbereit sind. Um eine Sicherheitsabfrage vor dem Schließen der Applikation zu implementieren, nutzen wir einen solchen globalen Event Handler und erstellen die Events. wie in Listing 8. Der Event Handler onbootstrapend wird aufgerufen, nachdem alle Plug-ins initialisiert wurden und bevor die erste MVCGroup erstellt wird. Zu diesem Zeitpunkt registrieren wir einen ShutdownHandler, der unsere Sicherheitsabfrage zeigt und ggf. das Beenden unterbricht. Im Griffon Guide, Kapitel 5 stehen nähere Details zu Application-Events und den Lifecycle-Events, die von Griffon gefeuert werden. Interessiert? Wir suchen Verstärkung für unser Java-Team! Listing 8: griffon-app/conf/events. import javax.swing.joptionpane onbootstrapend = { app -> app.addshutdownhandler([ canshutdown: { a -> return JOptionPane.showConfirmDialog( app.windowmanager.windows.find{it.focused, "Do you really want to exit?", "Exit", JOptionPane.YES_NO_OPTION == JOptionPane.YES_OPTION, onshutdown: { a -> ] as griffon.core.shutdownhandler Wir suchen Verstärkung für unser Java-Team! Weitere Informationen unter /stellenprofile Kontakt: Tel Bewerbungsunterlagen bitte elektronisch an: javamagazin

6 Das Tutorial Griffon Dienste Oft möchte man Funktionen zentralisieren, um sie wiederverwenden zu können. Das unterstützt Griffon mit dem Service-Konzept. Um den Zugriff auf unsere Datenbank zu zentralisieren, erstellen wir mittels griffon create-service database die Datei griffon-app/services/ babylonian/databaseservice. Ein Service ist eine reguläre Klasse, in der wir unsere Datenbankzugriffslogik implementieren können. Diese wird als Singleton behandelt, es wird von Griffon also nur eine Instanz automatisch instantiiert. Für Service-Klassen werden wie bei Controllern alle EventHandler Closures automatisch registriert. Um diese in einem Controller zu verwenden, müssen wir im Controller eine Variable mit dem Namen <ServiceName>Service erstellen. In unserem Fall also def databaseservice. Beim Erstellen des Controllers wird die Service-Instanz automatisch injiziert. Wenn von einem Service auf andere Services zugegriffen werden soll, benötigen wir Hilfe durch ein Inversionof-Control-Framework wie Spring, Guice oder Weld. Für diese drei Frameworks gibt es bereits Plug-ins, die wir z. B. mit griffon install-plugin spring installieren können. Nun sind auch Abhängigkeiten unter Services möglich. Der Quellcode und weitere Informationen Bis hierhin haben wir fast alle wichtigen Bereiche von Griffon behandelt. Der gesamte Quellcode des Babyloniers liegt bei und es sollte nun möglich sein, ihn zu verstehen. Er enthält Beispiele für Datenbankzugriffe, Tabellen, CRUD (Create/Read/Update/Delete usw. Der Quellcode verwendet weitere Plug-ins, die im Internet dokumentiert sind [3]. Als weitere Quellen für Griffon empfehle ich die Blogs von Andres Almiray [7], Nick Zhu [8] und mrhaki [9]. Zudem sind die Screencasts auf GriffonCast [10] sehenswert. Griffon beinhaltet Beispielanwendungen zur Veranschaulichung, dient aber auch als Hilfsmittel. Man findet sie unter $GRIFFON_HOME/samples auch unser Babylonier wird sich in Zukunft dort einreihen. Sehr zu empfehlen ist SwingPad (Abb. 3, eine der mitgelieferten Griffon-Beispielanwendungen, die das Erstellen von SwingBuilder-Code erheblich erleichtern. Während man auf der linken Seite Code schreibt, entsteht rechts daneben das Ergebnis. Zudem bringt Swing- Pad eine Menge an Beispielcode und Snippets mit. Fazit Griffon ist zwar zu großen Teilen in Groovy geschrieben und Groovy bietet als Sprache viele Vorteile, jedoch stellt die Verwendung von Groovy keinen Zwang dar. Es ist auch möglich, alle Artefakte in Java oder mittels Plug-ins auch in anderen Sprachen wie Clojure oder Scala zu schreiben. Griffon kann nicht zaubern, aber die Desktopentwicklung wird erheblich erleichtert. Die Kombination aus Convention over Configuration mit einer Vielzahl an Plug-ins liefert einen gut gefüllten Werkzeugkasten, ohne ein Korsett anzulegen. Abb. 2: Unsere fertige Applikation Overview Alexander Klein ist Senior Consultant bei der BeOne Stuttgart GmbH und seit 15 Jahren im Java-Umfeld als Entwickler, Architekt, Coach und Trainer hauptsächlich im Rich-Application-Umfeld tätig. Er ist bekennender Groovy-Jünger und Commiter bei Griffon. Links & Literatur Abb. 3: SwingPad: ein hilfreiches Tool in und für Griffon [1] Griffon-Webseite: [2] MiGLayout: [3] Griffon-Plug-ins: [4] Crystal Icons Set: [5] SwingBuilder: [6] Griffon Guide: [7] Blog von Andres Almiray: [8] Blog von Nick Zhu: [9] Blog von mkhaki: [10] GriffonCast: 84 javamagazin

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version 3.0.6 oder 3.0.7. Wechsel von Version 3.0.6 auf Version 3.0.

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version 3.0.6 oder 3.0.7. Wechsel von Version 3.0.6 auf Version 3.0. Upgrade-Leitfaden Apparo Fast Edit Wechsel von Version 2 auf Version 3.0.6 oder 3.0.7 Wechsel von Version 3.0.6 auf Version 3.0.7 1 / 12 2 / 12 Inhaltsverzeichnis 1 Download der neuen Version... 5 2 Sicherung

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

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

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

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen

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

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

Architekturbeschreibung Koala Editor

Architekturbeschreibung Koala Editor Architekturbeschreibung Koala Editor Package: de.hsos.koala Enthält die Main Klasse. Klasse: Main Wird beim Start des Programms ausgeführt und öffnet ein neues Editor-Fenster. Package: de.hsos.koala.actions

Mehr

Multimedia Engineering II - Übung 2

Multimedia Engineering II - Übung 2 Multimedia Engineering II - Übung 2 Zielstellung der Übungsaufgabe Das Login-Panel der ersten Übung erhält nun die Funktion, auf eine zweite View zu wechseln. Auf dieser werden Sie nun das erste Mal einen

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

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

Mehr

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

Mehr

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7 Upgrade-Leitfaden Apparo Fast Edit 1 / 7 Inhaltsverzeichnis 1 Download der neuen Version... 4 2 Sicherung des Apparo Datenbank-Repository... 4 3 De-Installation der installierten Apparo Fast Edit Version...

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

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

Swing Lernen am Code Teil 1

Swing Lernen am Code Teil 1 Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster

Mehr

Java Desktop Anwendungen

Java Desktop Anwendungen 5 1 Java Desktop Anwendungen das Problem: Desktop-Anwendungen werden mit Hilfe der Swing- Bibliothek programmiert, aber die Swing-Bibliothek ist riesig und unübersichtlich es gab kein Programmiergerüst

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

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

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011 Weiterführende Themen zu Internet- und WWW-Technologien 06. Juni 2011 Übersicht 1 Was ist? 2 Übersicht über 3 MVC-Konzept 4 Groovy Beispiele 5 Tutorial: Kleiner Notizblock Web Application Framework Übersicht

Mehr

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 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

Online Datenaustausch mit AutoCAD Architecture und AutoCAD WS

Online Datenaustausch mit AutoCAD Architecture und AutoCAD WS Online Datenaustausch mit AutoCAD Architecture und AutoCAD WS Der Datenaustausch mit Fachplanern und selbst mit der Baustelle erfordert immer kürzere Übermittlungszeiten. Häufig werden DWGs per e-mail,

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

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

Get Started with. Version 0.7, 24.03.2014 1 / 12

Get Started with. Version 0.7, 24.03.2014 1 / 12 Get Started with Version 0.7, 24.03.2014 1 / 12 Symbole / Elemente Da BPM Touch die Modellierungssprache BPMN Easy 1.2 verwendet, benötigen Sie nicht alle Elemente von BPMN 2.0 um Ihre Prozesse zu gestalten.

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

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

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

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

GUI Programmierung mit GTK

GUI Programmierung mit GTK LinuxFocus article number 295 http://linuxfocus.org GUI Programmierung mit GTK by Özcan Güngör About the author: Ich benutze Linux seit 1997. Freiheit, Flexibilität, Open

Mehr

PubMan Import - Benutzer Dokumentation

PubMan Import - Benutzer Dokumentation MaibornWolff et al GmbH Theresienhöhe 13 80339 München PubMan Import - Benutzer Dokumentation Version:1.0 Datum: 13.08.13 Status: Final Index 1 EINLEITUNG... 3 2 INSTALLATION... 4 3 KONFIGURATION... 5

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement HTL-Website TYPO3- Skriptum II Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig Qualitätsmanagement Erstellt Geprüft Freigegeben Name RUK Datum 02.06.2010 Unterschrift Inhaltsverzeichnis

Mehr

Inhaltsverzeichnis. Apps für Android entwickeln

Inhaltsverzeichnis. Apps für Android entwickeln Inhaltsverzeichnis zu Apps für Android entwickeln von Jan Tittel und Jochen Baumann ISBN (Buch): 978-3-446-43191-1 ISBN (E-Book): 978-3-446-43315-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43191-1

Mehr

Apps für ios entwickeln

Apps für ios entwickeln Apps für ios entwickeln Am Beispiel einer realen App Bearbeitet von Jan Tittel, Jochen Baumann 1. Auflage 2013. Buch. XII, 222 S. ISBN 978 3 446 43192 8 Format (B x L): 17,9 x 24,7 cm Gewicht: 589 g Weitere

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 [Matthias Hupfer, Steffen Hippeli] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu-sharing.com

Mehr

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java I Vorlesung 11 Graphische Oberflächen mit Swing Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java

Mehr

Installation/Einrichtung einer Datenbank für smalldms

Installation/Einrichtung einer Datenbank für smalldms Einleitung In den folgenden Seiten werden wir uns damit beschäftigen eine lokale Installation einer MySQL- Datenbank vorzunehmen, um auf dieser Datenbank smalldms aktivieren zu können. Wir werden das XAMPP-Paket

Mehr

LimeSurvey -Anbindung

LimeSurvey -Anbindung LimeSurvey -Anbindung 1 Was ist LimeSurvey Inhalt 1 Was ist LimeSurvey... 3 2 Grundeinstellungen in CommSy... 4 3 Grundeinstellungen in LimeSurvey... 5 4 LimeSurvey-Umfrage erstellen... 7 4.1 So erstellen

Mehr

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen. Praktikum Spring MVC Aufgabe 1 Im ersten Teil des Praktikums wird eine Test Webapplikation entwickelt, anhand derer einige Konzepte von Spring nachvollzogen werden können. Dabei handelt es sich um Spring

Mehr

Der Website-Generator

Der Website-Generator Der Website-Generator Der Website-Generator im Privatbereich gibt Ihnen die Möglichkeit, schnell eine eigene Website in einheitlichem Layout zu erstellen. In Klassen, Gruppen und Institutionen können auch

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

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

LERNWERKSTATT SEKUNDARSTUFE I

LERNWERKSTATT SEKUNDARSTUFE I LERNWERKSTATT SEKUNDARSTUFE I SOFTWAREVERTEILUNG DER LERNWERK- STATT SEKUNDARSTUFE I IM NETZWERK Die Lernwerkstatt Sekundarstufe I (LWS) unterstützt die automatische Software- Installation über den Windows

Mehr

Handbuch für die Erweiterbarkeit

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

Mehr

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

Vorwort... 2. Installation... 3. Hinweise zur Testversion... 4. Neuen Kunden anlegen... 5. Angebot und Aufmaß erstellen... 6. Rechnung erstellen...

Vorwort... 2. Installation... 3. Hinweise zur Testversion... 4. Neuen Kunden anlegen... 5. Angebot und Aufmaß erstellen... 6. Rechnung erstellen... Inhalt Vorwort... 2 Installation... 3 Hinweise zur Testversion... 4 Neuen Kunden anlegen... 5 Angebot und Aufmaß erstellen... 6 Rechnung erstellen... 13 Weitere Informationen... 16 1 Vorwort Wir freuen

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung Allgemeines Architektur der Anwendung Grundsätzlich führen viele Wege nach Rom bzw. es gibt nicht den einen Weg, wie die gestellte Aufgabe mit Magnolia gelöst werden muss. Es wäre problemlos möglich, eine

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Framework für Web (2.0) Anwendungen Ziel: Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby InterpreDerte Sprache Rails IntegraDonen

Mehr

SWN-NetT Webmail. Benutzerhandbuch für SWN-NetT Webmail. SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de

SWN-NetT Webmail. Benutzerhandbuch für SWN-NetT Webmail. SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de SWN-NetT Webmail Benutzerhandbuch für SWN-NetT Webmail SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de Übersicht Einstieg... 2 Menü... 2 E-Mail... 3 Funktionen... 4 Auf eine neue Nachricht

Mehr

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache

Mehr

Überschrift/Caption. Eigenschaftenfenster

Überschrift/Caption. Eigenschaftenfenster UsserrForrm errssttel llen Dass Codeffensstterr 22000044 NNi iikkoo BBeecckkeerr Öffnen Sie EXCEL und wechseln Sie mit der Tastenkombination Alt + F11 in den Visual Basic-Editor. Alternativ können Sie

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

Benutzerverwaltung mit ASP.NET Membership

Benutzerverwaltung mit ASP.NET Membership Benutzerverwaltung mit ASP.NET Membership Dieser Artikel soll zeigen, wie man ASP.NET Membership einsetzt, um Benutzer einer Web Anwendung zu authentifizieren. Es werden sowohl Grundlagen wie die Einrichtung

Mehr

JAVA Oberflächen mit Swing

JAVA Oberflächen mit Swing JAVA Oberflächen mit Swing Grafik von http://javafx.com 168 168 AGENDA Grundlagen GUI Swing JavaFX 169 169 GRAPHISCHE BENUTZEROBERFLÄCHEN (1) AWT = Abstract Window Toolkit Verwendet die jeweiligen GUI-Komponenten

Mehr

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT? Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?

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

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

3 Grundlagen. 3.1 Die erste App

3 Grundlagen. 3.1 Die erste App 19 3.1 Die erste App In diesem Abschnitt werden Sie Ihre ersten Schritte in der Windows- Phone-7-Entwicklung machen. Dabei werden Sie eine modifizierte»hallo Welt«-Anwendung schreiben. Daneben lernen Sie

Mehr

SixCMS 6 Tutorial - Content-Manager. So erfassen Sie Inhalte mit SixCMS

SixCMS 6 Tutorial - Content-Manager. So erfassen Sie Inhalte mit SixCMS SixCMS 6 Tutorial - Content-Manager So erfassen Sie Inhalte mit SixCMS Inhalt Inhalt So erfassen Sie Inhalte mit SixCMS 3 Zu diesem Tutorial 3 Ablageort definieren 5 Content-Container erstellen 6 Einträge

Mehr

7.11 Besprechungen planen und organisieren

7.11 Besprechungen planen und organisieren 7. Effektive Zeitplanung und Organisation von Aufgaben 7.11 Besprechungen planen und organisieren Wie bereits zu Beginn des Kapitels erwähnt, nehmen im Gegensatz zu einem normalen Termin mehrere Teilnehmer

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

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

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

Mehr

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

AccountPlus Systemkonfiguration

AccountPlus Systemkonfiguration Anwenderhandbuch AccountPlus Systemkonfiguration Version 1.10 Inhalt: 1 ANWENDUNG... 3 2 DAS PROGRAMM... 3 2.1 Startparameter...5 2.2 Die Karteikarte ACCTPLUS.INI...5 2.3 Die Karteikarte Datenbanken...5

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de Webmail Anleitung für Ihr online E-Mail-Postfach http://webmail.willytel.de Inhalt: Inhalt:... 2 Übersicht:... 3 Menü:... 4 E-Mail:... 4 Funktionen:... 5 Auf neue Nachrichten überprüfen... 5 Neue Nachricht

Mehr

10 Makros. 10.1 Makros aufzeichnen

10 Makros. 10.1 Makros aufzeichnen 10 Makros Ein Makro besteht aus einer Reihe von Befehlen, die gespeichert und dann immer wieder aufgerufen, d.h. durchgeführt werden können. Das dient zur Automatisierung häufig auftretender Aufgaben.

Mehr

Programmieren lernen mit Groovy Graphische Oberflächen GUIs (Graphical User Interfaces)

Programmieren lernen mit Groovy Graphische Oberflächen GUIs (Graphical User Interfaces) Programmieren lernen mit Groovy Graphische Oberflächen GUIs (Graphical User Interfaces) Seite 1 GUI Beispiel Addierer : Code und erzeugte GUI groovy.swing.swingbuilder javax.swing.windowconstants swing

Mehr

Institut für Informatik

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

Mehr

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer

Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer Import, Export und Löschung von Zertifikaten mit dem Microsoft Internet Explorer Version 1.0 Arbeitsgruppe Meldewesen SaxDVDV Version 1.0 vom 20.07.2010 Autor geändert durch Ohle, Maik Telefonnummer 03578/33-4722

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

Einführung in Maven und GWT

Einführung in Maven und GWT Einführung in Maven und GWT Prof. Christoph Knabe Beuth-Hochschule Berlin 08.05.2014 Gliederung Motivation für Build-Werkzeug Maven-Ziele, Begriffe Maven-Benutzung in 5 min Maven-Vorteile GWT-Ziele GWT-Projekt

Mehr

Fahrzeuggestaltung auf dem ipad

Fahrzeuggestaltung auf dem ipad Fahrzeuggestaltung auf dem ipad Fahrzeuggestaltung auf dem ipad 1 Was diese Anleitung behandelt 1.1 1.2 Überblick 4 Empfohlene Hilfsmittel 5 2 Benötigte Dateien zum ipad kopieren 2.1 2.2 2.3 Von Mac oder

Mehr

WordPress installieren und erste Einblicke ins Dashboard

WordPress installieren und erste Einblicke ins Dashboard WordPress installieren und erste Einblicke ins Dashboard Von: Chris am 16. Dezember 2013 In diesem Tutorial zeige ich euch wie ihr WordPress in der aktuellen Version 3.7.1 auf eurem Webspace installieren

Mehr

Neuer Schwung für Swing

Neuer Schwung für Swing Griffon Das Tutorial Geflügelte Hilfe für das babylonische Sprachgewirr Neuer Schwung für Swing Was hatten wir alles bisher: SwingBuilder, einfaches Thread Handling, Trennung von Darstellung und Logik

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14

PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14 PG5 Starter Training PG5 Core und Webeditor 8 Daniel Ernst DE02 2013-03-14 Einführung Benötigtes Material: Notebook oder Computer PCD1 E-Controller USB Kabel Schulungsplatine Ethernet Kabel Benötigte Software

Mehr

Tutorial für die Installation des Eclipse- PlugIns "SQLExplorer"

Tutorial für die Installation des Eclipse- PlugIns SQLExplorer Tutorial für die Installation des Eclipse- PlugIns "SQLExplorer" Inhaltsverzeichnis 1. Besorgen der benötigten Software und Tools 2. Installation 3. Einrichtung des SQLExplorers für Eclipse 4. Nutzung

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

Komplexe Excel-Berichte mit APEX und jxls erstellen

Komplexe Excel-Berichte mit APEX und jxls erstellen Komplexe Excel-Berichte mit APEX und jxls erstellen Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, MS Excel, jxls, Bericht, Template, Open Source Einleitung In fast jeder Webapplikation

Mehr

Whitepaper. Produkt: combit address manager. Faxen mit dem address manager. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit address manager. Faxen mit dem address manager. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit address manager Faxen mit dem address manager Faxen mit dem address manager - 2 - Inhalt Generelle Überlegung zum Faxen 3 Voraussetzungen

Mehr

Extensions mit TYPO3 TYPO3

Extensions mit TYPO3 TYPO3 Extensions mit TYPO3 PHP-Einsatz in TYPO3 eine Einführung Tobias Hauser Arrabiata Solutions GmbH tobias.hauser@arrabiata.de TYPO3 Aktuell ist Version 4.2 Version 4.3 ist RC, erscheint Ende November 4.4

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

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen Eclipse Seite 1 Eclipse 3.0 (Mac) 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

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung Informatik Kurs 12 André Hoffmann Delphi Einführung in die Windows- Programmierung Grundlagen Entwicklung von Windows-Programmen Relativ unkompliziert durch typische, vorgefertigte Elemente Programmiertechnische

Mehr

So ziehen Sie Ihr Wordpress Blog zu STRATO um

So ziehen Sie Ihr Wordpress Blog zu STRATO um So ziehen Sie Ihr Wordpress Blog zu STRATO um Version 1.0 So ziehen Sie Ihr Wordpress Blog zu STRATO um Das Wordpress-Plugin Duplicator ermöglicht Ihnen, in wenigen Schritten Ihre Wordpress-Instanz umzuziehen.

Mehr

32.4 Anpassen von Menüs und Symbolleisten 795i

32.4 Anpassen von Menüs und Symbolleisten 795i 32.4 Anpassen von Menüs und Symbolleisten 795i Fortsetzung der Seiten in der 8. Auflage 32.4 Anpassen von Menüs und Symbolleisten 32.4.1 Anpassen von Menüs Die Menüs können um folgende Typen von Optionen

Mehr

Umstellung Home & Office Banking auf Volksbank Office Banking

Umstellung Home & Office Banking auf Volksbank Office Banking Umstellung Home & Office Banking auf Volksbank Office Banking Sehr geehrte Kundin! Sehr geehrter Kunde! Das erfolgreiche Home & Office Banking ist schon etwas in die Jahre gekommen und wird durch das neue

Mehr

Projekt Online-Shop:

Projekt Online-Shop: Mit einem Buchverwaltungsprogramm kann können über das Internet neue Datensätze in eine Online-Datenbank einund ausgegeben, sowie gelöscht und verändert werden. Die Internet-Site besteht aus den nebenstehenden

Mehr