Gesellschaft für Informatik e.v. Arbeitskreis Java User Group Thomas Bauer, Peli Service GmbH: SWT / JFace

Größe: px
Ab Seite anzeigen:

Download "Gesellschaft für Informatik e.v. Arbeitskreis Java User Group 27.03.2006 Thomas Bauer, Peli Service GmbH: SWT / JFace"

Transkript

1 Gesellschaft für Informatik e.v. Arbeitskreis Java User Group Thomas Bauer, Peli Service GmbH: SWT / JFace 20. März 2006, Thomas Bauer, Seite 1

2 Abstract Mit SWT und JFace wurde (ursprünglich für die Implementierung der Eclipse- Oberfläche) ein GUI-Baukasten geschaffen, welcher es ermöglicht mit Java performante und funktional mächtige GUIs zu erstellen. In dem Vortrag wird ein Überblick über SWT und JFace vermittelt. Es werden die Möglichkeiten dargestellt, die man mit SWT / JFace hat. Eine MVC-Implementierung mittels eines Viewers wird etwas detaillierter vorgestellt. Es wird auch eine in SWT / JFace implementierte Lösung kurz gezeigt. Inhalt: Kurzer Rückblick: AWT und Swing. Installation / Lizenz SWT-Klassenstruktur Ein kurzes SWT-Hello-World zum warm werden Dispose Layouts, Widgets, Event-Handling Wrapper-Klassen, Custom Controls und weitere Features Tabellen Graphics JFace: Application Window, Ressourcen-Verwaltung, Dialoge JFace: Viewer 20. März 2006, Thomas Bauer, Seite 2

3 Das Unternehmen Firmensitz 20. März 2006, Thomas Bauer, Seite 3

4 Unternehmensdaten Firmensitz Niederlassung Gründung Hartstraße Germering Carl-Schurz-Straße Bremen März 2006, Thomas Bauer, Seite 4

5 Produkte und Dienstleistungen Programmpaket für die Realisierung von Forderungen und Forderungsmanagement FOB Front Office Banking - IT System für alle Geschäftsprozesse von Banken und Sparkassen Integrierte Warenwirtschaftssysteme für Presse, Buch & Convenience plus Business-Software für den Fachgroßhandel mit offener Kommunikationsschnittstelle Referenzen: CC Bank, KSK Göppingen, Falter, VALORA, Börner, HEW, Interrent Europcar, Hansen u.a. 20. März 2006, Thomas Bauer, Seite 5

6 zur Person Diplominformatiker Thomas Bauer Studium: Fachhochschule München Abteilungsleiter bei der Fa. Peli Service GmbH seit 1995 Profil: Kernaufgaben: Personalführung Projektleitung Systemanalyse, Anforderungsmanagement Erstellung Feinkonzepte Datenmodellierung, Softwarearchitektur Leitung / Durchführung Anwendungsentwicklung Qualitätssicherung Kommunikation mit den Kunden 20. März 2006, Thomas Bauer, Seite 6

7 Java-Background Java seit /2006 Entwicklung einer Ernährungsanalyse-Software. o selber entwickelte Datenbankzugriffschicht (Zugriff und Persistenz). Abbildung von Tabellen / Cursors durch dynamische Objekte, d.h. keine Abbildung der Datenbankstruktur in Code bzw. in Klassen. o Realisierung der Geschäftslogik wie Aufbereitung von Analyseergebnissen. Realisierung der Client-Oberfläche mit SWT und JFace. J2EE 2003 und 2005 intensive Einarbeitung (Aufwand ca. 60 Tage). kleineres Projekt durchgeführt (Web-Container-Programmierung mit Servlets, benutzerdefiniert Tags, und JSPs). Technisches Umfeld Java, Eclipse 3, IBM WebSphere Studio Application Developer, Servlets, JSPs, benutzerdefinierte Tags, XML, HTML, Access 2002 über JDBC/ODBC- Bridge, MySQL, Poseidon for UML, Spring 20. März 2006, Thomas Bauer, Seite 7

8 AWT (Abstract Windowing Toolkit) (1) ab 1995 Basis für die von Netscape (damals) mit geförderte Applet-Technologie. "peer approach": Jedes Java GUI Widget hat eine korrespondierende Komponente im darunter liegenden Betriebssystem (native widget, Java code widgets wrapping native widgets). Die Implementierung des Peer Systems und die Kommunikation zwischen der Java-Komponenten und dem Peer sind in der Low-Level-Implementierung der JVM realisiert. Das Screen Painting wird vom Native Widget vorgenommen. "physical event" native implementation library JVM Java Code: event handler, some action native implementation library JVM Java Code: "display..." 20. März 2006, Thomas Bauer, Seite 8

9 AWT (Abstract Windowing Toolkit) (2) Der Java-Level-Code bleibt plattformübergreifend identisch. Die Umsetzung auf die jeweilige Plattform erfolgt in der Low-Level-Implementierung der JVM. "lowest denominator approach": Die Funktionalität ist beschränkt auf die Möglichkeiten, die alle relevanten Plattformen realisieren können => High- Level-Widgets müssen dann von den Entwicklern für die Zielplattform selber entwickelt werden. 20. März 2006, Thomas Bauer, Seite 9

10 Swing (1) ab 1998 Der Name war zuerst eine Codename für das entsprechende Projekt und wurde dann beibehalten Kein Native Code, keine Native Widgets Weil keine Abhängigkeit zu Native Widgets gegeben ist, kann unter Swing jedes beliebige Widget für jede Plattform zur Verfügung gestellt werden. Swing ermöglicht die Adaption des Look&Feel der jeweiligen Plattform bzw. von "pluggabel look and feels". Eine Applikation kann sich also Windows-like oder Motif-like oder Mac-like oder im ganz individuellen Stil präsentieren. Swing geht über das reine Widget-Handling hinaus. Es definiert ein model für das Halten der Daten einen view für die Anzeige der Daten einen controller für die Behandlung von User-Input d.h. die meisten Swing-Komponenten sind nach dem MVC-Desing-Pattern realisiert. 20. März 2006, Thomas Bauer, Seite 10

11 Swing (2) Hauptproblem von Swing: "speed" (oder besser gesagt der Mangel an Geschwindigkeit). Dieses Problem konnte auch mit JITs, JVM-Optimierungen und Java-Optimierungen nicht befriedigend beseitigt werden. Swing- Applikationen wirken träger als die nativen Alternativen. weiteres Problem von Swing: Trotz der Offenheit bezüglich "Look and Feel" hat sich diese in der Praxis nicht in der gewünschten Form realisieren lassen. Vorrausetzung für jede "Look and Feel"-Version ist, dass diese in der Java Library und damit im Rahmen einer J2SE-Version zur Verfügung gestellt wird. In der Praxis führte das dazu, dass man häufig nicht die benötigte Version des "Look and Feel" zur Verfügung hat. Läuft z.b eine Applikation unter J2SE 1.4.1, dann hat sie auch unter XP nur ein Windows 98 - Look and Feel zur Verfügung. 20. März 2006, Thomas Bauer, Seite 11

12 SWT / JFace ab 2001 im ersten Schritt wurde SWT entwickelt, um die Eclipse-GUI zu realisieren. "peer architectur" wie bei AWT, d.h SWT nutzt die Native Widget Library des zu Grunde liegenden OS und "zieht" um diese einen Java-Mantel, über welchen die Applikation mit diesen Native Widgets "spricht". Widgets, zu denen entsprechende Native Widgets fehlen, werden mit Java realisiert. Ergebnis: sehr performante Lösung von ausreichendem Funktionsumfang. JFace bildet eine Abstraktionsschicht, die über SWT gelegt wurde. Ziel 1: Abstrahierung von SWT-Implementierungsdetails. Ziel 2: Realisierung des MVC-Pattern. 20. März 2006, Thomas Bauer, Seite 12

13 Installation / Lizenz Zur Installation SWT wird mit Eclipse geliefert (selbe Versionsnummer!), ist aber auch separat erhältlich (JAR-Files, Native Library) für einen Einsatz unabhängig von Eclipse. JFace wird nur mit Eclipse geliefert, ist aber ebenfalls unhabhängig von Eclipse verwendbar. Um die Libraries zu erhalten, muss man aber Eclipse herunter laden. Man benötigt für JFace dann (Library-Namen können von Version zu Version unterschiedlich sein!): org.eclipse.jface_<version>\jface.jar org.eclipse.jface.text_<version>\jfacetext.jar org.eclipse.osgi_3.0.0_<version>\osgi.jar org.eclipse.text_<version>\text.jar org.eclipse.core.runtime_<version>\runtime.jar Lizenztechnisches SWT/JFace ist verfügbar unter einer Open Source License, die so gestaltet ist, dass man SWT in den eigenen Applikationen unter jedem beliebigen Lizenzschema verwenden kann (aus "The Definitive Guide to SWT and JFace by Rob Warner with Robert Harris, 2004" - bei Bedarf lizenzrechtliches bitte selber konkret prüfen). 20. März 2006, Thomas Bauer, Seite 13

14 SWT Klassenstruktur (1) 20. März 2006, Thomas Bauer, Seite 14

15 SWT Klassenstruktur (2) Widget: (abstrakte Klasse) Basisfunktionalität für Widgets und zugehörige Listener (dispose, adddisposelistener, addlistener, remove..). Control: (abstrakte Klasse) Control und Widget werden häufig synonym verwendet. Allerdings ist eine Control-Instanz eine Spezialisierung von Widget in dem Sinne, dass eine Control-Instanz ein "Gegenstück" (natives Element) in der zu Grunde liegenden Plattform hat. Andere Widgets dagegen (Item-Abkömmlinge, DragSource,...) sind dagegen mit Java-Mitteln realisiert. Entsprechend stellt Control die Basisfunktionalität zu Widgets, die durch native Elemente realisiert werden. Scrollable: (abstrakte Klasse) Alle Controls, welche mit Scrollbar ausgerüstet werden können. Composite: Alle scrollbaren Controls, welche weitere Controls enthalten können. 20. März 2006, Thomas Bauer, Seite 15

16 SWT Klassenstruktur (3) Canvas: Instanzen dieser Klasse ermöglichen das Zeichnen von beliebigen Graphiken (z.b. ein "cooles" Window mit einem Loch in der Mitte für eine Juke Box). Demo: JukeBox 20. März 2006, Thomas Bauer, Seite 16

17 SWT Klassenstruktur (4) Decorations: Diese Klasse stellt die notwendigen Eigenschaften zur Verfügung, die für in der Plattform darzustellende Windows notwendig sind (z.b. Minimize, Rahmen setzen,...). Für die Realisierung eines Windows muss jedoch die Unterklasse Shell verwendet werden. Shell: Eine Shell ist ein von der zu Grunde liegenden Plattform gemanagtes Window. Top level shells werden als child einer Display-Instanz angelegt und können vom Benutzer maximiert, minimiert, bewegt oder in der Größe verändert werden. Secondary shells (bzw. dialog shells) werden als child einer anderen shell angelegt und existieren nur im Kontext des parent window. 20. März 2006, Thomas Bauer, Seite 17

18 SWT Klassenstruktur (5) Display: Diese Klasse repräsentiert die Verbindung zw. SWT und dem GUI-System der zu Grunde liegenden Plattform. Hauptsächlich werden durch Display die Event Loop und der UI Thread sowie andere Threads verwaltet. Naturgemäß gibt es pro Plattform eine eigene Display-Implementierung. Grundlagen hierzu: Auf Betriebssystemebene läuft GUI-Event-Handling immer so ab: Die Events (Mouse-Click, Taste,...) werden in eine Event- Queue eingestellt. Die Basis jeder Windows-GUI ist eine Event-Loop, welche die GUI-Events aus der Event-Queue liest und entsprechende Aktionen auslöst. Die Event-Loop läuft in der Regel in einem eigenen Thread, um nicht durch länger dauernde Aktionen blockiert zu werden. 20. März 2006, Thomas Bauer, Seite 18

19 Hello World mit SWT (1) package beispiele; import org.eclipse.swt.widgets.display; import org.eclipse.swt.widgets.shell; import org.eclipse.swt.widgets.label; import org.eclipse.swt.swt; public class HelloWorld { public static void main(string[] args) { // eine Display-Instanz stellt die Verbindung dar zwischen SWT // und der zu Grunde liegenden Plattform Display display = new Display(); // ein Shell-Instanz repräsentiert ein vom Desktop bzw. // window manager verwaltetes top-level window. Shell shell = new Shell(display);... // Der Label wird "innerhalb" der Shell-Instanz angelegt Label label = new Label(shell, SWT.CENTER); label.settext("hello, World"); label.setbounds(shell.getclientarea()); 20. März 2006, Thomas Bauer, Seite 19

20 Hello World mit SWT (2)... shell.open(); // while Benutzer das Main-Window nicht geschlossen hat while (!shell.isdisposed()) { // wenn kein Event "ansteht" if (!display.readanddispatch()) { display.sleep(); // warte auf ein Event display.dispose(); Für die meisten Anwendungen kann man dem hier gezeigten Pattern folgen. Es muss eine Display-Instanz erzeugt werden, bevor irgendein Fenster erzeugt wird. Und das Display muss disposed werden, wenn die Shell geschlossen wird. 20. März 2006, Thomas Bauer, Seite 20

21 Hello Word mit STW (3) Für den Compile eines Programmes, welches SWT/JFace nutzt muss swt.jar in den Java Build Path aufgenommen werden (project properties) 20. März 2006, Thomas Bauer, Seite 21

22 Hello Word mit SWT (4) Für den Run eines Programmes mit SWT/JFace wird die Java Native Interface - Implementierung (JNI) des Windowing System benötigt. Das Runtime Environment muss so konfiguiert werden, dass die entsprechenden Libraries gefunden werden. 20. März 2006, Thomas Bauer, Seite 22

23 nützliche Tipps die aktuelle Display-Instanz ist jederzeit über die statische Funktion Display.getCurrent erhältlich und muss daher nicht durch die Anwendung "durchgeschleppt" werden. die aktuelle Shell-Instanz ist jederzeit über die statische Funktion Display.getActiveShell erhältlich und muss daher nicht durch die Anwendung "durchgeschleppt" werden. Will man eine neues Fenster erzeugen, welches unter Windows nicht als eigene neue Task erscheinen soll (sondern einfach nur einer Unterfenster sein soll), dann muss dieses Unterfenster die JFace- Klasse Window erweitern. SWT erzeugt das native Element in dem Moment, wenn das Java Widget erzeugt wird und zerstört das native Element in dem Moment, wenn das Java Widget zerstört wird. Man muss sich also um die nativen Elemente nicht explizit kümmern. 20. März 2006, Thomas Bauer, Seite 23

24 Dispose (1) Unter SWT muss man Objekte, die man angelegt hat auch entsorgen (dispose). Grund: Die Java garbage collection ist nicht "direkt" genug um einer notwendigen schnellen Freigabe von Betriebssystem-Ressourcen genüge zu tun. Die Disposal-Bemühungen kann man nach folgenden Regeln ausrichten: Wenn du es angelegt hast, dann entsorge es auch // das muss ich entsorgen, weil ich es anlege Color color = new Color(display, 255, 0, 0); // create a red color // das darf ich nicht entsorgen, weil ich es nicht angelegt habe (ich habe // es nur "geliehen" und eine Entsorgung könnte unangenehme Nebeneffekte // haben - z.b. wenn es noch von anderen Objekten benutzt wird) Color color = display.getsystemcolor(swt.color_red) Die Entsorgung eines Parent entsorgt automatisch die Children. Kurz: wird die Parent-Shell eines Windows disposed, dann sind damit automatisch alle Widgets des Windows disposed. 20. März 2006, Thomas Bauer, Seite 24

25 Dispose (2) Achtung: An ein Widget übergebene Color- oder Font-Objekte sind keine Children. Diese müssen explizit entsorgt werden! Text text = new Text(shell, SWT.BORDER); // Create a text field Font font = new Font(display, "Arial", 14, SWT.BOLD); // Create the new font test.setfont(font); // Set the font into the text field Dasselbe gilt für Instanzen der Klassen Image, GC (Graphik Context), Cursor, Printer, Display, Shell, Clipboard. Am Ende einer Applikation braucht man die Ressourcen jedoch nicht zu entsorgen. Es geht nur um Ressourcen, die während der Laufzeit der Applikation entfernt werden ohne die Applikation zu beenden. 20. März 2006, Thomas Bauer, Seite 25

26 Dispose (3) Ressource Store Die Verwaltung der Ressourcen kann sehr aufwendig sein (insbesondere bei Farben, Fonts und Images). Daher arbeitet man nach dem Prinz "Resource Store". Eine Instanz eines solchen Resource Store wacht über das "Leben" mehrerer (gleichartiger) Ressourcen, also z.b. über das Leben der in der Anwendung verwendeten Color-Instanzen. Ein Instanz kann auf diese Weise mehrfach verwendet werden was nebenbei auch noch Speicher spart. public class ColorStore { private static Map store = new HashMap(); public static Color getcolor(string name, Device device, int r, int g, int b) { Object obj = store.get(name); if (obj == null) { Color newcolor = new Color(device, r, g, b); store.put(name, newcolor); return newcolor; return (Color) obj; public static void dispose() { Iterator iter = store.values().iterator(); while (iter.hasnext()) { Color color = (Color) iter.next(); color.dispose(); 20. März 2006, Thomas Bauer, Seite 26

27 Layouts (1) null layout: Jedes Widget verwaltet seine Position selber (... setbounds(59, 10, 38, 15)) Layouts regeln die Anordnung von Controls innerhalb einer Composite (Shell ist eine von Composite abgeleitete Klasse) und passen in der Regel die Anordnung auch dynamisch an, wenn ein Resize des Windows erfolgt. Das Layout ist eine entkoppelnde Schicht zwischen den Controls in einer Composite und der Composite. Ein Layout wird erzeugt und dann der Composite "übergeben" FillLayout layout = new FillLayout(); layout.type = SWT.HORIZONTAL; shell.setlayout(layout); 20. März 2006, Thomas Bauer, Seite 27

28 Layouts (2) Bei RowLayout, GridLayout und FormLayout werden jedem Widget die Konfigruationsparameter mittels einer Instanz von RowData, GridData bzw. FormData übergeben. RowData rowdata = new RowData(); rowdata.height = 50; rowdata.width = 100: button.setlayoutdata(rowdata); 20. März 2006, Thomas Bauer, Seite 28

29 Layouts Klassenstruktur 20. März 2006, Thomas Bauer, Seite 29

30 FillLayout Dieser Layout-Manager setzt einfach ein Feld nach dem anderen, d.h. nutzt den Platz der Reihe nach aus. Es können weder Margins noch Spacings gesetzt werden alle Widgets werden gleich breit und hoch dargestellt. Es wird er verfügbare Platz vollständig ausgenutzt die Anordnungsreihenfolge kann horizontal oder vertikal sein Sinnvoll z..b. für ein Container, der ein Panel repräsentiert 20. März 2006, Thomas Bauer, Seite 30

31 GridLayout Die Widgets der Maske werden in einem Gitternetz angeordnet (also in einer Tabelle, welche in jeder Zelle eine Widget enthält) Es ist möglich ein Widget über 2 Zellen zu "spannen" Grabbing: Es kann eingestellt werden, dass sich einzelne Widgets mit der Maske vergrößern (verkleinern) während die anderen in ihrer Größe unverändert bleiben Höhe und Breite eines Widget können individuell angegeben werden (für die Flexibilität der Oberfläche auf verschiedenen Rechnern und bei Größenänderung der Maske ist es aber besser die Größe eine Widget nicht hart zu konfigurieren) Demo: JUG GridLayoutComplex 20. März 2006, Thomas Bauer, Seite 31

32 RowLayout Funktionsweise ähnlich FillLayout, d.h. die Felder werden der Reihe nach angeordnet, eines nach dem anderen Es gibt aber mehr Konfigurationsmöglichkeiten, als beim FillLayout. Es können Margins und Spacings gesetzt werden und die Höhe/Breite jedes Widgets kann individuell angegeben werden. Der Verlauf der Felderanordnung kann entweder vertikal oder horizontal sein Demo: JUG RowLayoutHorizontal 20. März 2006, Thomas Bauer, Seite 32

33 FormLayout (1) Es wird mit FormAttachments gearbeitet. Es kann für jede Seite eines Widgets (left, right, top, bottom) ein FormAttachment festgelegt werden welches ausdrückt, wie diese Seite des Widget in Relation zum FormLayout bzw. in Relation zu anderen Widgets positioniert werden soll. In der Regel wird pro Widget ein horizontales Attachment (left oder right) und ein vertikales Attachment (top oder bottom) sowie eine Größe festgelegt. Widgets ohne FormAttachment werden in der linken oberen Ecke übereinander gelagert. 20. März 2006, Thomas Bauer, Seite 33

34 FormLayout (2) Demo: JUG UebungFormLayout // *** Label ausrichten ganz oben, linke Position bei 10% der Maske FormData data1 = new FormData(); data1.top = new FormAttachment(0, 0); data1.left = new FormAttachment(10, 0); label.setlayoutdata(data1); // *** erste Feld: ganz oben, rechts vom Label FormData data2 = new FormData(); data2.top = new FormAttachment(0, 0); data2.left = new FormAttachment(label, 5); data2.width = 200; text.setlayoutdata(data2); // *** zweites Feld: unter erstes Feld, linke Ausrichtung am ersten Feld // *** Breite identisch zu erstem Feld FormData data3 = new FormData(); data3.top = new FormAttachment(text, 2); // Abstand 2 Punkte data3.left = new FormAttachment(text, 0, SWT.LEFT); data3.right = new FormAttachment(text, 0, SWT.RIGHT); text1.setlayoutdata(data3); // *** drittes Feld: unter zweites Feld, linke Ausrichtung am zweiten Feld // *** Breite identisch zu zweitem Feld FormData data4 = new FormData(); data4.top = new FormAttachment(text1, 2); // Abstand 2 Punkte data4.left = new FormAttachment(text1, 0, SWT.LEFT); data4.right = new FormAttachment(text1, 0, SWT.RIGHT); text2.setlayoutdata(data4); 20. März 2006, Thomas Bauer, Seite 34

35 FormLayout(3) // *** Tabelle: unter drittes Feld, so breit wie Maske mit Einzug 5 Pixel FormData data5 = new FormData(); data5.top = new FormAttachment(text2, 5); // Abstand 5 Punkte data5.left = new FormAttachment(0,5); data5.right = new FormAttachment(100,-5); table.setlayoutdata(data5); 20. März 2006, Thomas Bauer, Seite 35

36 StackLayout und Sonstiges zu Layouts StackLayout Demo JUG StackLayoutTest enthalten in org.eclipse.swt.custom. StackLayout legt alle Controls übereinander. Immer einer der Controls ist als der spezifiziert, der gerade angezeigt wird. eigene Layouts Es können eigene Layouts implementiert werden. Z.B. kann man das aus AWT bekannte BorderLayout abbilden, welches die Controls direktional ausrichtet (north, south, west, east, center). Beispiele mit Codegenerierung in Eclipse Im Rahmen der Plug-in-Examples von Eclipse erhält man auch einen View mit Layoutbeispielen, über den man im Dialog Layouts konfigurieren uns sich den resultierenden Code dann anschauen kann 20. März 2006, Thomas Bauer, Seite 36

37 Widgets (1) Widget Purpose Styles Events Button Selectable control that issues notification when pressed and/or released. BORDER, CHECK, PUSH, RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER, ARROW (with UP, DOWN) Dispose, Control*, Selection Canvas Composite control that provides a surface for drawing arbitrary graphics. Often used to implement custom controls. BORDER, H_SCROLL, V_SCROLL, NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP Dispose, Control* Combo Selectable control that allows the user to choose a string from a list of strings, or optionally type a new value into an editable text field. BORDER, DROP_DOWN, READ_ONLY, SIMPLE Dispose, Control*, DefaultSelection, Modify, Selection Label Non-selectable control that displays a string or an image. BORDER, CENTER, LEFT, RIGHT, WRAP, SEPARATOR (with HORIZONTAL, SHADOW_IN, SHADOW_OUT, SHADOW_NONE, VERTICAL) Dispose, Control* 20. März 2006, Thomas Bauer, Seite 37

38 Widgets (2) Widget Purpose Styles Events List Selectable control that allows the user to choose a string or strings from a list of strings. BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI Dispose, Control*, Selection, DefaultSelection Menu User interface object that contains menu items. BAR, DROP_DOWN, NO_RADIO_GROUP, POP_UP Dispose, Help, Hide, Show MenuItem Demo: Eclipse IDE Selectable user interface object that represents an item in a menu. CHECK, CASCADE, PUSH, RADIO, SEPARATOR Dispose, Arm, Help, Selection ProgressBar Non-selectable control that displays progress to the user, typically in the form of a bar graph. BORDER, INDETERMINATE, SMOOTH, HORIZONTAL, VERTICAL Dispose, Control* Sash Demo: Eclipse IDE Selectable control that allows the user to drag a rubber banded outline of the sash within the parent window. Used to allow users to resize child widgets by repositioning their dividing line. BORDER, HORIZONTAL, VERTICAL Dispose, Control*, Selection 20. März 2006, Thomas Bauer, Seite 38

39 Widgets (3) Widget Purpose Styles Events ScrollBar Selectable control that represents a range of positive numeric values. Used in a Composite that has V_SCROLL and/or H_SCROLL styles. HORIZONTAL, VERTICAL Dispose, Selection Slider Selectable control that represents a range of numeric values. A slider is distinguished from a scale by providing a draggable thumb that can adjust the current value along the range. BORDER, HORIZONTAL, VERTICAL Dispose, Control*, Selection TabFolder (TabItem) Demo: Eclipse IDE Composite control that groups pages that can be selected by the user using labeled tabs. BORDER Dispose, Control*, Selection 20. März 2006, Thomas Bauer, Seite 39

40 Widgets (4) Widget Purpose Styles Events Text Editable control that allows the user to type text into it. BORDER, SINGLE, READ_ONLY, LEFT, CENTER, RIGHT, WRAP, MULTI (with H_SCROLL, V_SCROLL) Dispose, Control*, DefaultSelection, Modify, Verify ToolBar (ToolItem) Composite control that supports the layout of selectable tool bar items BORDER, FLAT, WRAP, RIGHT, SHADOW_OUT HORIZONTAL, VERTICAL Dispose, Control* CoolBar (CoolItem) Composite control that allows users to dynamically reposition the cool items contained in the bar. BORDER Dispose, Control* Tree (TreeItem) Demo: Eclipse IDE Selectable control that displays a hierarchical list of tree items that can be selected by the user. BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK Dispose, Control*, Selection, DefaultSelection, Collapse, Expand 20. März 2006, Thomas Bauer, Seite 40

41 Widgets (5) Widget Purpose Styles Events Table Selectable control that displays a list of table items that can be selected by the user. Items are presented in rows that display multiple columns representing different aspects of the items. BORDER, H_SCROLL, V_SCROLL, SINGLE, MULTI, CHECK, FULL_SELECTION, HIDE_SELECTION, VIRTUAL Dispose, Control*, Selection, DefaultSelection TableColumn Selectable user interface object that represents a column in a table. LEFT, RIGHT, CENTER Dispose Dispose, Move, Resize, Selection TableItem Selectable user interface object that represents an item in a table. Dispose 20. März 2006, Thomas Bauer, Seite 41

42 Event-Handling Klassenstruktur 20. März 2006, Thomas Bauer, Seite 42

43 Observer Design Pattern SWT kommuniziert Events unter Verwendung des Observer Design Pattern. Hierbei registrieren sich ein oder mehrere Objekte (Observer bzw. Listener) für die Observation eines Events, welches vom observierten Objekt (Subject) ausgelöst werden kann. Anders herum betrachtet: Das Objekt, welches das Event auslösen kann, verwaltet eine Collection von Observern (Listenern). 20. März 2006, Thomas Bauer, Seite 43

44 untyped Listener Ein "allgemeiner" Listener, der ein "allgemeines" Event erhält. Dieses Event enthält Klassenvariablen für alle möglichen Event-Typen (und in jeder speziellen Verwendung sind die nicht benötigten Klassenvariablen mit garbage belegt). Über die addlistener-methode des Widgets wird der Listener beim Widget angemeldet. Signatur: void addlistener(int eventtype, Listener listener); Die Implementierung der Schnittstelle Listener erfolgt in der Regel über eine innere Klasse. button.addlistener (SWT.SELECTION, new Listener() { public void handleevent(event e) { switch (e.type) { case SWT.SELECTION; System.out.println("Button betätigt"); break; 20. März 2006, Thomas Bauer, Seite 44

45 typed Listener Für jeden Event-Typ gibt es eine eigene Klasse, eine eigene Schnittstelle und eine eigene addlistener-methode. Jedes Widget bietet add-listener- Methoden zu den Events, die es liefern kann. Z.B. Widget vom Typ Text: void addmodifylistener(modifylistener listener); void addselectionlistener(selectionlistener listener); void addverifylistener(verifylistener listener); Da viele dieser Listener mehrere Methoden anbieten, müssten diese bei der Implementierung immer alle codiert werden, ob benötigt oder nicht. Daher stellt SWT Implementierungen von allen Listenern zur Verfügung, die mehr als eine Methode anbieten. Die Namen dieser abstrakten Implementierungsklassen enden mit "...Adapter" Die Implementierung der Listener erfolgt i.d.r. über eine innere Klasse. shell.addcontrollistener (new ControlAdapter () { public void controlresized (ControlEvent e) { label.setbounds (shell.getclientarea ()); ); 20. März 2006, Thomas Bauer, Seite 45

46 Events Übersicht (1) Event Type Arm Control Dispose Focus Help Key Menu Description Generated when a widget, such as a menu item, is armed. Generated when a control is moved or resized. Generated when a widget is disposed, either programmatically or by the user. Generated when a control gains or loses focus. Generated when the user requests help for a widget, such as pressing the F1 key. Generated when the user presses or releases a keyboard key when the control has keyboard focus. Generated when a menu is hidden or shown. Widgets MenuItem Control, TableColumn, Tracker Widget Control Control, Menu, MenuItem Control Menu 20. März 2006, Thomas Bauer, Seite 46

47 Events Übersicht (2) Event Type Modify Mouse MouseMove MouseTrack Paint Description Generated when a widget's text is modified. Generated when the user presses, releases, or double clicks the mouse over the control. Generated as the user moves the mouse across the control. Generated when the mouse enters, exits, or hovers over the control. Generated when the control needs to be repainted. Widgets CCombo, Combo, Text, StyledText Control Control Control Control 20. März 2006, Thomas Bauer, Seite 47

48 Events Übersicht (3) Event Type Selection Shell Traverse Tree Verify Description Generated when the user selects an item in the control. Generated when a shell is minimized, maximized, activated, deactivated, or closed. Generated when a control is traversed by the user using keystrokes. Generated when the user expands or collapses items in the tree. Generated when a widget's text is about to be modified. Gives the application a chance to alter the text or prevent the modification. Widgets Button, CCombo, Combo, CoolItem, CTabFolder, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableCursor, TableColumn, TableTree, Text, Toolitem, Tree Shell Control Tree, TableTree Text, StyledText 20. März 2006, Thomas Bauer, Seite 48

49 Wrapper-Klassen Dialoge SWT stellt Wrapper-Klassen für verschiedene Standarddialoge zur Verfügung: Message Box Color Selection Dialog Directory Selection Dialog File Open / File Save Dialog Font Selection Dialog Print Dialog eigene Dialoge Die Dialoge können modal sein (d.h. es können keine Eingaben in andere Windows der Applikation gemacht werden, solange der Dialog offen ist) 20. März 2006, Thomas Bauer, Seite 49

50 Custom Controls (1) Hierbei handelt es sich zum einen um weitere Controls mit zusätzlichen Eigenschaften, die nicht im Standardsatz untergebracht sind und zumeist plattformspezifische Erweiterungen enthalten. Zum anderen werden hat man auch die Möglichkeit eigene Widgets zu erstellen. Diese werden ebenfalls als Custom Widgets bezeichnet. Control Purpose Styles Events CCombo Demo: Eclipse View SWT Custom Similar to Combo, but custom drawn to allow for using a combo without a border. This class was developed for using combos inside table cells. BORDER, FLAT, READ_ONLY Dispose, Control*, Selection 20. März 2006, Thomas Bauer, Seite 50

51 Custom Controls (2) Control Purpose Styles Events CLabel Similar to Label, but supports clipping of text with ellipsis. Also supports a gradient effect for the background color as seen in the active workbench view. Does not support wrapping. CENTER, LEFT, RIGHT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE Dispose, Control* CTabFolder (CTabItem) Demo: Eclipse View SWT Custom Similar to TabFolder, but supports additional configuration of the visual appearance of tabs (top or bottom) and borders. BORDER, FLAT, BOTTOM, TOP Dispose, Control*, Selection 20. März 2006, Thomas Bauer, Seite 51

52 Custom Controls (3) Control SashForm Demo: Eclipse View SWT Custom ScrolledComposite StyledText TableTree (TableTreeItem) ViewForm... Purpose Composite control that lays out its children in a row or column arrangement and uses a Sash to separate them so that the user can resize them. Composite control that scrolls its contents and optionally stretches its contents to fill the available space. Editable control that allows the user to type text. Ranges of text inside the control can have distinct colors (foreground and background) and font styles (bold and regular). Selectable control that displays a hierarchical list of items that can be selected by the user. Items are presented in rows that display multiple columns representing different aspects of the items. Composite control that lays out three children horizontally and allows programmatic control of layout and border parameters. Used in the workbench to implement a view's label/toolbar/menu local bar. 20. März 2006, Thomas Bauer, Seite 52

53 Tabellen (1) Tabelleneigenschaften SWT.SINGLE Es kann immer eine Tabellenzeile zu einer Zeit selektiert werden SWT.MULTI Es können mehrere Tabellenzeilen gleichzeitig selektiert sein SWT.CHECK Plaziert eine Check-Box am Anfang jeder Zeile SWT.FULL_SELECTION Die ganze selektierte Reihe wird eingefärbt SWT.HIDE_SELECTION selektierte Reihen / Zellen werden nicht eingefärbt Demo: JUG AsciiTable 20. März 2006, Thomas Bauer, Seite 53

54 Tabellen (2) Table table = new Table(shell, SWT.MULTI SWT.FULL_SELECTION); table.setlinesvisible(true); TableColumn column1 = new TableColumn(table, SWT.NONE); TableColumn column2 = new TableColumn(table, SWT.NONE); TableColumn column3 = new TableColumn(table, SWT.NONE); TableItem item = new TableItem(table, SWT.NONE); item.settext(new String[]{"Wert 1/1", "Wert 1/2", "Wert 1/3"); item = new TableItem(table, SWT.NONE); item.settext(new String[]{"Wert 2/1", "Wert 2/2", "Wert 2/3"); item = new TableItem(table, SWT.NONE); item.settext(new String[]{"Wert 3/1", "Wert 3/2", "Wert 3/3"); item = new TableItem(table, SWT.NONE); item.settext(new String[]{"Wert 4/1", "Wert 4/2", "Wert 4/3"); for (int i = 0, n = table.getcolumncount(); i < n; i++) { table.getcolumn(i).pack(); 20. März 2006, Thomas Bauer, Seite 54

55 Graphics Die Klasse GC (Graphical Context) bildet den Kern von SWT's Graphics Engine und bietet alle notwendigen Methoden um Shapes, Images oder Text zu zeichnen. 20. März 2006, Thomas Bauer, Seite 55

56 Text anzeigen und editieren Die gesamte Funktionalität der Eclipse-Editoren basiert auf SWT-Features. SWT's StyledText Widget zeigt Text in verschiedenen Farben, Styles, Größen und Fonts an, ist allerdings pro StyledText Widget auf eine Größe und einen Font beschränkt. Das StyledText Widget hat seine Hauptfocus auf der Erstellung von Programmiereditoren. Das Widget bietet die Voraussetzung für einen vollständigen Texteditor mit Clipboard-Funktionalität, Druckfunktion, Syntax-Highlighting, Word Wrapping, Tabulatoren setzen, Hotkeys etc. 20. März 2006, Thomas Bauer, Seite 56

57 weitere Features Drag and Drop (DragSource und DropTarget) Drucken (Printer und PrintDialog). Druck von Text und Graphik Tip: Das StyledText-Widget bittet eine Methode an, seinen Inhalt zu drucken. D.h. es kann unter Umständen sinnvoll sein, seinen Druckinhalt in einem StyledText-Widget aufzubauen und von dort zu drucken. Web Browsing Demo: Eclipse View SWTBrowser SWT bietet einen Web-Browsing-Komponente an, die in die Applikation eingebettet werden kann (erforderlich: Windows IE 5.0, Linux GTK Mozilla 1.5 GTK, Linux Motif Mozilla 1.5 GTK, Photon) 20. März 2006, Thomas Bauer, Seite 57

58 JFace JFace bildet eine Abstraktionsschicht, die über SWT gelegt wurde. Ziel 1: Abstrahierung von SWT-Implementierungsdetails. Ziel 2: Realisierung des MVC-Pattern. Dabei bildet JFace allerdings keine vollständige Schicht über SWT. Vielmehr stehen die Abstraktionen in verschiedenen Bereichen zur Verfügung während der Rest weiter direkt über SWT abgewickelt wird. JFace deckt folgende Bereiche ab: Application Window Ressourcenverwaltung (Color's, Font's, Image's) Dialoge (vorbereitete Standarddialoge) Action's (Handling der verschiedenen Inputkanäle: Menu, CoolItem, Keyboard) Dialoge für die Verwaltung von Preferencen Viewer (Ändern / Einfügen in Tree's, List's oder Table's) Text Viewer (Texteditoren) Erstellung von Wizards 20. März 2006, Thomas Bauer, Seite 58

59 JFace Überblick 1 FontRegistry 20. März 2006, Thomas Bauer, Seite 59

60 JFace ApplicationWindow Window (sowie ApplicationWindow) sind die JFace-Abstraktion von Shell. Das Applikations-Window wird durch Erweiterung von ApplicationWindow gebildet. Die SWT-Event-Loop für das Main-Window ist abstrahiert. ApplicationWindow bietet zudem Unterstützung von MenuBar, ToolBar, CoolBar und Status-Linie. public class HelloWorld extends ApplicationWindow { public HelloWorld() { // HelloWord constructor super(null); public void run() { setblockonopen(true); // true: Don't return from open() until window closes open(); // Open the main window Display.getCurrent().dispose(); // Dispose the display // Erzeugung des Inhaltes des Main-Window protected Control createcontents(composite parent) { Label label = new Label(parent, SWT.CENTER); label.settext("hello, World"); return label; public static void main(string[] args) { new HelloWorld().run(); 20. März 2006, Thomas Bauer, Seite 60

61 JFace Ressourcenverwaltung Schriftarten, Farben und Images werden durch folgende Klassen verwaltet: FontRegistry ImageRegistry JFaceColors Mit dem Dispose der Display-Instanz werden auch die in diesen Klassen verwalteten Graphikobjekt dispose'd. Die Klasse JFaceResources organisiert eine einheitliche Font- und Colorverwaltung für JFace-GUI-Komponenten. Die Klasse ist eine Sammlung statischer Methoden. So kann z.b. die Schriftart für Dialoge von der Klasse erfragt werden oder es können die aktiven FontRegistry-Instanzen ermittelt werden. Beispiel für Registrierung und Verwendung eines Image: imageregistry = new ImageRegistry(); // Bildregistratur anlegen // Graphik für Anzeige in MessageDialog laden final Image image = new Image(sShell.getDisplay(),"image/signal_rot.gif"); imageregistry.put("bild_fuer_message", image); // Bild registrieren... Verwendung dann mit: imageregistry.get("bild_fuer_message"); 20. März 2006, Thomas Bauer, Seite 61

62 JFace Dialoge (1) JFace stellt eine Reihe von konfigurierbaren Dialogklassen zur Verfügung, die zudem auch erweitert (extend) werden können, um eigenen Dialog zu bilden. Von TitleAreaDialog abgeleiteter Dialog, der im frei gestaltbarem Bereich um 2 Eingabefelder erweitert wurde. Input abfragen mit Validierung 20. März 2006, Thomas Bauer, Seite 62

63 JFace Dialoge (2) 20. März 2006, Thomas Bauer, Seite 63

64 JFace Action Über die Klasse Action ist es möglich, eine Aktion an mehrere Formen von User-Input zu binden Aktivierung über Menu Button in einer ToolBar Hot-Key Z.B. Start Druck über Menu, über ToolBar oder über CTRL+P 20. März 2006, Thomas Bauer, Seite 64

65 JFace Preference Framework Ablage von Preferences: Windows => (binary) Registry (früher ini-text-files) UNIX => Text-Files Java => Text-Files (Property Files) Das JFace Preference Framework basiert auf den Properties Files. JFace bietet ein Framework für den Aufbau von Dialogen zur Bearbeitung von Preferences. Unter anderem besteht auch die Möglichkeit einen Listener anzumelden, der bei Änderungen der Preferences informiert wird. 20. März 2006, Thomas Bauer, Seite 65

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

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

Mi. 12. Nov. 2003 WA73 - R. 0611. Projekt Software Engeneering 2003/04. SWT & JFace. Norman Thomas Rogowski

Mi. 12. Nov. 2003 WA73 - R. 0611. Projekt Software Engeneering 2003/04. SWT & JFace. Norman Thomas Rogowski Mi. 12. Nov. 2003 WA73 - R. 0611 Projekt Software Engeneering 2003/04 SWT & JFace Norman Thomas Rogowski Was ist SWT? Standard Widget Toolkit Baut auf native Oberfläche auf Aussehen entspricht exakt dem

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

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

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

GUI Programmierung in Java

GUI Programmierung in Java vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

InfoPoint vom 9. November 2011

InfoPoint vom 9. November 2011 InfoPoint vom 9. November 2011 Was ist Joomla? Theorie Installation Extensions Administration Demo Joomla ist ein modulares content management system (CMS) Es ermöglicht eine Website zu erstellen und online

Mehr

desk.modul : WaWi- Export

desk.modul : WaWi- Export desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm

Mehr

Text Formatierung in Excel

Text Formatierung in Excel Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

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

DOAG Regio 2015 APEX 5 Neuerungen Highlights. Marco Patzwahl

DOAG Regio 2015 APEX 5 Neuerungen Highlights. Marco Patzwahl DOAG Regio 2015 APEX 5 Neuerungen Highlights Marco Patzwahl MuniQSoft GmbH Tätigkeitsbereiche: Oracle Support Hotline: Mo-Fr 8.00 18.00 Uhr Erweiterung um Rufbereitschaft auch am Wochenende möglich Oracle

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

EchoLink und Windows XP SP2

EchoLink und Windows XP SP2 EchoLink und Windows XP SP2 Hintergrund Für Computer auf denen Windows XP läuft, bietet Microsoft seit kurzem einen Update, in der Form des Service Pack 2 oder auch SP2 genannt, an. SP2 hat einige neue

Mehr

Unsere Webapplikation erweitern

Unsere Webapplikation erweitern Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.

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

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz Architektur Überblick Allgemeines, Geschichtliches Architektur Oberfläche Plugins und deren Einsatz Was ist Eclipse? Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Bekannteste Verwendung:

Mehr

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall

10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall 5.0 10.3.1.10 Übung - Konfigurieren einer Windows-XP-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows XP-Firewall konfiguriert und

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

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

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

SharePoint 2010 Mobile Access

SharePoint 2010 Mobile Access Erstellung 23.05.2013 SharePoint 2010 Mobile Access von TIMEWARP IT Consulting GmbH Stephan Nassberger Hofmühlgasse 17/1/5 A-1060 Wien Verantwortlich für das Dokument: - Stephan Nassberger (TIMEWARP) 1

Mehr

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen.

Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen. 1 Passwort ändern Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern Dazu klicken Sie bitte auf Ihren Namen Abb 1-1 Erstmaliger Anmeldung Danach erscheint ein PopUp indem Sie Ihr Passwort

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

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

Präsentation zur Vorstellung meiner Bachelor-Arbeit beim BSE- Seminar. Vortrag von Patrick Bitterling

Präsentation zur Vorstellung meiner Bachelor-Arbeit beim BSE- Seminar. Vortrag von Patrick Bitterling Präsentation zur Vorstellung meiner Bachelor-Arbeit beim BSE- Seminar Vortrag von Patrick Bitterling Gliederung Meine Aufgabe Eckdaten zu meiner Bachelor-Arbeit Die Aufgabeneinteilung Die alte Saros-GUI

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Java-Tutorium WS 09/10

Java-Tutorium WS 09/10 Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Neues Projekt (Klassenbibliothek) erzeugen Als Projektbezeichnung wählte ich BeispielComAddIn. Add-In-Starter-Klasse erstellen Die

Mehr

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren 1 32- oder 64-bit Windows feststellen In den nachfolgenden Schritten ist es nötig, dass Sie wissen, ob Sie

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

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

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

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

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

Computeria Solothurn

Computeria Solothurn Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015

BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 1 BSV Software Support Mobile Portal (SMP) Stand 1.0 20.03.2015 Installation Um den Support der BSV zu nutzen benötigen Sie die SMP-Software. Diese können Sie direkt unter der URL http://62.153.93.110/smp/smp.publish.html

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Von Keerthikan T. & Siyar Kolusari 10.12.2012

Von Keerthikan T. & Siyar Kolusari 10.12.2012 M226 OBJECT ORIENTIERT PROGRAMMIEREN Project Checkers An online multi-player Java Game Von Keerthikan T. & Siyar Kolusari 10.12.2012 Inhaltsverzeichnis 1. Projektbeschreibung 3 1.1. Inhalt 3 2. Ziele

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED

Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED Mit Google Chrome nach MIT App Inventor suchen. In den Suchergebnissen (siehe unten) auf

Mehr

eclipse und Komponenten

eclipse und Komponenten Christian bossk Holle & Markus Breitländer Fh-Dortmund Fb Informatik SS04 Geschichte von eclipse April 1999 Eclipse wird von OTI und IBM entwickelt November 2001 Eclipse wird Open Source Lizensiert unter

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Outlook Vorlagen/Templates

Outlook Vorlagen/Templates Joachim Meyn Outlook Vorlagen/Templates Erstellen Sie Vorlagen bzw. Templates in Outlook Joachim Meyn 27.03.2013 Inhaltsverzeichnis Outlook Vorlagen (.oft Dateien)... 2 Vorbereitung... 2 Anlegen einer

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Progwerkstatt Philipp Güttler, Christoph Schied, Nicolai Waniek 01.12.2008 Seite 2 Drucken Drucken ist eigentlich ganz einfach...

Mehr

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch - 1 - Inhalt 1 Einführung... 3 2 Installation und Einrichtung... 4 3 Funktionalität des KIP Druckerstatus... 6 4 Benutzung des KIP Druckerstatus...

Mehr

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0 HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0 INHALT 1. VORAUSSETZUNGEN... 3 2. BESCHREIBUNG... 3 3. BANNER... 3 4. PANELS... 4 5. FALLBACK... 4 4. ANLEGEN DES HTML5 HOCKEYSTICK ADS... 4 2 1. VORAUSSETZUNGEN

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

HP Software Patch- und Version-Notification

HP Software Patch- und Version-Notification HP Software verschickt automatische individuelle Informationen per E-Mail über neue Patches und Versionen. Die Voraussetzung für diesen Service ist, dass man sich persönlich angemeldet hat. Patches werden

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

transfer.net Erste Schritte mit transfer.net

transfer.net Erste Schritte mit transfer.net Erste Schritte mit transfer.net Der transfer.net Speed Guide zeigt Ihnen in 12 kurzen Schritten anschaulich alles Wichtige vom Erwerb und Registrierung bis zur allgemeinen Nutzung von transfer.net. Es

Mehr

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Betreuer: Dipl.-Ing. A. Cemal Özlük Dipl.-Inf. Uwe Ryssel ALLGEMEINE

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

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr