Programmierung Java AWT und Swing

Größe: px
Ab Seite anzeigen:

Download "Programmierung Java AWT und Swing"

Transkript

1 Abstract Window Toolkit Einführung Mit Hilfe der Java-Klassenbibliothek können graphische Benutzerschnittstellen einfach realisiert werden, da eine umfangreiche Bibliothek an GUI-Klassen zur Verfügung steht, die für den Aufbau hierarchischer GUIs nach dem Composite- Pattern vorbereitet ist, und die Ereignisbehandlung (seit Java 1.1) übersichtlich und schulbuchmässig (MVC-Architektur) gelöst ist. Einige Ansätze des Window-Toolkits wurden aus der Klassenbibliothek von Smalltalk-80 übernommen, so zum Beispiel die Idee des MVC-Architekturpatterns, welches weiter unten noch beschrieben wird. Das folgende Codebeispiel erzeugt ein Fenster mit einem Label und einer einfachen Ereignisbehandlung. import java.awt.*; import Java.awt.event.*; public class HelloWorld extends Frame implements WindowListener { // Konstruktor public HelloWorld(){ { super("hello World"); setlayout(new BorderLayout()); add(new Label ("Hello World!!"), BorderLayout.CENTER); addwindowlistener(this); pack(); setvisible(true); // main - Methode public static void main(string argument[]){ Frame f = new HelloWorld(); // Applikation beenden public void windowclosing(windowevent wevent){ System.exit(0); // Ein WindowListener muss auch folgende Methoden implementiern public void windowactivated(windowevent wevent) { public void windowclosed(windowevent wevent) { public void windowdeactivated(windowevent wevent) { public void windowdeiconifled(windowevent wevent) { public void windowlconified(windowevent wevent) { public void windowopened(windowevent wevent) { Im Beispiel werden die zwei Packages java.awt und java.awt.event importiert. Die Klassen aus java.awt werden dazu verwendet, um Fenster und deren Inhalte darzustellen, während die Klassen aus java.awt.event dazu dienen, auf zuletzt überarbeitet: Pascal Joos : 1/21 HFU

2 1-2 Benutzeraktionen, die Events auslösen, zu reagieren Übersicht Bis Java 1.1 war der Abstract Window Toolkit (AWT) die alleinige Klassenbibliothek, um GUIs zu bauen. Der AWT beruht auf dem Konzept von Peer-Klassen: Sichtbare GUI- Klassen besitzen eine Peer-Klasse, welche auf jeder Plattform die entsprechende plattformspezifische GUI-Komponente (widget) kapselt. Mit diesem Konzept der Peer-Klassen ist man letztlich auf die auf jeder Plattform zur Verfügung stehenden GUI-Komponenten beschrankt. Zudem lassen sich ihre plattformspezifischen Eigenheiten durch die Wrapper nicht völlig gleichschalten. Die GUI- Komponenten mit Peer-Klassen zeigen immer das Look and Feel der entsprechenden Plattform. Aus diesen Gründen ist ein neues Window-Toolkit, die Swing-Klassen, entstanden, welches bis auf Main-Windows ohne die plattformspezifischen GUI-Komponenten arbeitet, d.h. vollständig in Java implementiert ist (sogenannte lightweight-komponenten). Dadurch wird ein viel reichhaltigeres Angebot von GUI-Elementen ermöglicht, und deren Look and Feel lässt sich unabhängig von der verwendeten Plattform einstellen. Swing- Komponenten verwenden zudem eine innere MVC-Struktur, welche die Programmierung bei komplexeren Komponenten wesentlich vereinfachen kann. Ab JDK 1.2 ist Swing ein Standard-Package des Java. Bis auf diese Unterschiede basieren aus Sicht des Anwendungs- Programmierers auf den gleichen Konzepten. Viele Swing-Klassen sind praktisch ein 1:1- Ersatz fur entsprechende AWT-Klassen. Das Event-Handling (nach JDK 1.1) wurde in Swing übernommen, in beiden Packages werden flexible Layouts durch Layoutmanager unterstützt. In diesem Kapitel wird die GUI-Programmierung anhand des AWT eingeführt, später werden die zusätzlichen Elemente und Möglichkeiten von Swing besprochen Klassenbibliotheken von AWT Ab Version 1.1 des JDK gibt es folgende Standard-Packages, die Klassen enthalten, welche zur Darstellung von GUIs verwendet werden: java.applet - fur Applets java.awt - die GUI-Elemente des AWT java.awt.image - fur Bildverarbeitung java.awt.event - fur die Ereignisbehandlung java.awt.datatransfer - fur Dateniibertragung zwischen Java-Applikationen via Clipboard). Von diesen Packages sind java.awt und java.awt.event die beiden wichtigsten. Das Package java.awt.applet besteht nur aus einer einzigen Klasse und drei Interfaces, welche für die Applet Konstruktion wichtig sind. zuletzt überarbeitet: Pascal Joos : 2/21 HFU

3 Die Model-View-Controller-Architektur in Java Die MVC Architektur stützt stark auf dem Observer Pattern der Software Pattern ab Observer Pattern Ein KonkretesSubject EinKonkreterObserver EinAndererKonkreterObserver notify() update() update() Subject attach (Observer) detach (Observer) notify() Observer update( ) KonkreterObserver KonkretesSubject update( ) Das ObserverPattern bietet die Möglichkeit in eine Klasse beobachten zu lassen. Dabei sind die Observer die Elemente die beobachten und die Subjects sind die Elemente die beobachtete werden. Dies ist sehr ideal für GUI Komponenten. Wenn man es folgendermassen definiert: Die GUI Komponenten sind Anzeigen, welche darstellen was in einer anderen Klasse enthalten ist. Die GUI Komponenten beobachten also ihre Modelle Wenn man dies nun auf das MVC Prinzip übertragen würde, wäre das Model gleich dem Subject. Die GUI Komponenten wären dabei die Observers. zuletzt überarbeitet: Pascal Joos : 3/21 HFU

4 Struktur Die Model-View-Controller-Architektur, ursprünglich in Smalltalk80 eingeführt, ist inzwischen eine verbreitetet Architektur für User-Interfaces. In der obigen Darstellung sieht man, wie die einzelnen Komponenten zusammenarbeiten. Das Model ist dabei das Subject des OberverPatterns. In Java werden sie auch als Observables bezeichnet. Diese bezeichnung kommt daher, da sie in Java vom Interface Observable abgeleitet werden müssen. Die View und der Controller übernehmen dabei die Rolle der Observers. Der View ist dabei für die Ausgabe und der Controller für die Eingabe zuständig. Würde man die obige Darstellung auf UML übertragen, ergibt sich folgendes Diagramm. zuletzt überarbeitet: Pascal Joos : 4/21 HFU

5 1-5 Der folgende Teil des wurde aus einem Buch koriert und absichtlich nicht übersetzt, um die Bedeutung der Worte nicht zu verfälschen Initialisierung der MVC-Architektur Scenarion II shows how the MVC triad is initialized. This code is usually located outside of the model, views and controllers, for example in a main program. The view and controller initialization occurs similarly for each view opened for the model. The following steps occur: The model instance is created, which then initializes its internal data structures. A view object is created. This takes a reference to the model as a parameter for its initialization. The view subscribes to the change-propagation mechanism of the model by calling the attach procedure. The view continues initialization by creating its controller. It passes references both to the model and to itself to the controller's initialization procedure. The controller also subscribes to the change-propagation mechanism by calling the attach procedure. After initialization, the application begins to process events. zuletzt überarbeitet: Pascal Joos : 5/21 HFU

6 1-6 Natiirlich registieren sich nur Controller als Observer beim Modell, deren Verhalten vom Zustand des Modelles abhängig sind (z.b. Deaktivierung von Menueinträgen). Die Umsetzung in Java folgt dieser Beschreibung praktisch 1:1. In Java ist es nicht nötig, dass die View ihr Modell erinnert. Bei einem update() wird eine Referenz des Modells als Parameter mitgegeben. Scenario I shows how user input that results in changes to the model triggers the change-propagation mechanism: The controller accepts user input in its event-handling procedure, interprets the event, and activates a service procedure of the model. The model performs the requested service. This results in a change to its internal data. The model notifies all views and controllers registered with the changepropagation mechanism of the change by calling their update procedures. Each view requests the changed data from the model and redisplays itself on the screen. Each registered controller retrieves data from the model to enable or disable certain user functions. For example, enabling the menu entry for saving data can be a consequence of modifications to the data of the model. The original controller regains control and returns from its event-handling procedure. zuletzt überarbeitet: Pascal Joos : 6/21 HFU

7 1-7 Die Umsetzung in Java ist auch hier wieder geradlinig. Das Observer-Pattern bildet die Grundlage für die Verbindung zwischen dem Model und der View. Es wird im Package java.util durch die Klasse Observable und dem Interface Observer bereitgestellt. Im AWT tragt die Controllerklasse den Namen EventListener und ist in Wirklichkeit ein Interface. Die Sortierung und Filterung der Events wird bereits durch die AWT- Klassen vorgenommen. Der Programmierer kann also davon ausgehen, dass sein Controller nur diejenigen Events bekommt, die er auch behandeln möchte Logische Bedeutung der MVC Komponenten Das MVC Prinzip ist die Grundlagen für alle heutigen UIs. Das ganze Interaktions Prozedere wird in die drei Elemente aufgeteilt. Wie wir oben schon gehört haben sind das Modell, View und Controller. Die Bedeutung der einzelnen Elementewerden wie folget beschrieben. Modell Das sind die zu bearbeitenden Daten View Ist die Darstellung dieser Daten Controller Ist für die Aktionen und Eingaben des Users zuständig zuletzt überarbeitet: Pascal Joos : 7/21 HFU

8 Beispiel Count Bin Beispiel für die Anwendung der MVC-Architektur ist der folgende Zähler. Er besteht aus einem Modell Count, einer View View, welche den Zählerstand als Beschriftung auf einem Button darstellt und einem Controller inclistener, welcher beim Drücken des Buttons den Zählerstand erhöht. // CountMain.java ******************************************* public class CountMain { public static void main(string[] args){ Count c = new Count(); View v = new View(c); // Count.java *********************************************** import java.util.observable; public class Count extends Observable { private int value; public void increment(){ value = value+1; setchanged(); notifyobservers(); public int getvalue() { return value; // View.java *********************************************** import java.util.observer; import java.util.observable; import java.awt.*; import java.awt.event.* ; public class View extends Frame implements Observer { Button btn; public View(Count model) { btn = new Button(""+model.getValue()); btn.addactionlistener(new IncListener(model)); add(btn); pack(); setvisible(true); model.addobserver(this); public void update(observable model, Object arg){ btn.setlabel(""+((count)model).getvalue()); // IncListener nava ******************************************* import java.awt.event.actionlistener; import java.awt.event.actionevent; public class IncListener implements ActionListener { Count model; public IncListener(Count m) {model=m; public void actionperformed(actionevent e){ model.increment(); zuletzt überarbeitet: Pascal Joos : 8/21 HFU

9 1-9 Wie man dem Sourcecode entnehmen kann, ist die Klasse Count von der Klasse java.util.observable abgeleitet. Dadurch erbt sie automatisch alle Methoden und Variablen, welche zur Benutzung des Observer-Mechanismus benötigt werden. Beim Inkrementieren der Variable value, werden die Methoden setchanged() und notifyobserver() aufgerufen. Das bewirkt, dass bei allen angemeldeten Views die Methode update() aufgerufen wird. Diese Methode ist im Interface java.util.observer definiert. In update() wird das Modell als Parameter übergeben. Die update()-methode aktualisiert die View mit den aktuellen Daten des Modells. Um auf Benutzeraktionen wie etwa das Anklicken des Buttons zu reagieren, müssen die entsprechenden GUI-Komponenten mit Controllern versehen werden. Dies geschieht bei der Initialisierung der View. Durch Aufruf der Methode addactionlistener() für den Button wird ein Controller an den Button gehängt, und zwar handelt es sich um einen Controller für Events vom Typ ActionEvent. Der Controller besitzt eine ständige Referenz auf das Modell. Damit ist es ihm möglich, direkten Einfluss auf die Daten zu nehmen, natürlich über die entsprechende Methode increment() der Klasse Count. Damit hat sich der Kreis geschlossen: Der Controller verändert die Daten im Model und das löst ein update () bei allen Views aus, womit gewährleistet ist, dass die Anzeigen in allen Views auf dem neuesten Stand sind. Zu den Events, die für das Applikationsfenster (Klasse Frame) bestimmt sind, zählt auch das Schliessen des Fensters. Wenn, wie in diesem einfachen Beispiel, kein windowlistener bei dem Fenster angemeldet ist, kann das Fenster nicht mehr direkt durch den Benutzer geschlossen werden! Event Handling Das Event Handling wurde von Version des JDK zu Version 1.1 völlig überarbeitet. Der markanteste Unterschied besteht darin, dass die AWT Klassen eine Filterung der eingehenden Ereignisse vornehmen. Das heisst, der Anwender kann die Events, welche er bearbeiten möchte, abonnieren und in einem separaten EventListener- Objekt bearbeiten (Event Delegation Model).Um das zu realisieren, muss er das entsprechende Interface in einer Klasse implementieren. In der folgenden Tabelle sind alle Eventtypen mit dem zugehorigen Interface aufgelistet: Eventtyp ActionEvent AdjustmentEvent*) ComponentEvent*) ContainerEvent*) FocusEvent**) ItemEvent KeyEvent Eventtyp MouseEvent**) TextEvent WindowEvent Interface ActionListener AdjustmentListener ComponentListener ContainerListener FocusListener ItemListener KeyListener Interface MouseListener MouseMotionListener TextListener WindowListener zuletzt überarbeitet: Pascal Joos : 9/21 HFU

10 1-10 Die mit *) markierten Events sind sogennante Low-Level-Events, sie werden in der Regel nicht im Applikationscode bearbeitet, sondern direkt innerhalb des AWT (Grössenänderungen von Komponenten usw.). Mit **) martierte Events nehmen eine Zwischenrolle ein. Manchmal möchte man in einer Applikation auf sie reagieren. Die nicht speziell gekennzeichneten Events sind sogenannte High-Level-Events, auf welche eine Applikation in der Regel reagieren, d.h. entsprechende Listener bereitstellen muss. Wenn ein Objekt vom Typ Button auf einen Mausklick reagieren soll, so reicht es, eine Klasse zu schreiben, welche das entsprechende Interface implementiert und in der Methode action-performed (ActionEvent) die gewünschten Aktionen auszuführen. Das folgende Codebeispiel zeigt einen Controller, der umgehend die Anwendung beendet: Import java.awt.event.actionlistener; public class ExitController implements ActionListener{ public void actionperformed(actionevent aevent){ System.exit( 0 ) ; Wird dieser EventListener nun mit der Methode addactionlistener() bei einem Element eingetragen, das ActionEvents produziert, so wird mit der Aktivierung des Elementes die Anwendung beendet. Manche Interfaces sind umfangreicher als nur gerade eine Methode. Zum Beispiel umfasst das Interface WindowListener sieben verschiedene Methoden, die alle implementiert werden müssen. Wird aber nur eine von all diesen Methoden effektiv gebraucht, so sieht es ungefähr so aus wie das Beispiel "HelloWorld". Bei dieser Klasse fungiert die Klasse sowohl als View wie auch als Controller. Damit reduziert sich das MVC-Pattern auf das Dokument-View Prinzip, bei dem View und Controller nicht getrennt werden. In der AWT existieren nun einige Klassen, die uns die Arbeit abnehmen, für jede nicht gebrauchte Methode eine Dummy-Methode einzufügen. Es handelt sich dabei um sogenannte Adapter-Klassen. Folgende Adapter-Klassen existieren: ComponentAdapter ContainerAdapter FocusAdapter MouseAdapter MouseMotionAdapter WindowAdapter KeyAdapter Wie man sieht, würde auch für das Interface windowlistener ein entsprechender Adapter existieren, doch da Java keine Mehrfachvererbung kennt, kann man im genannten Beispiel keinen Nutzen daraus ziehen. Was der Zweck der einzelnen Eventtypen ist und wo sie vorkommen, kann am besten in der Online-Hilfe des JDK nachgelesen werden. In diesem Dokument sind die möglichen Events zu finden, die ein bestimmtes AWT-Element produzieren kann. zuletzt überarbeitet: Pascal Joos : 10/21 HFU

11 Der Aufbau von hierarchisch strukturierten GUIs Composite Der Aufbau hierarchisch strukturierter GUIs folgt dem Composite-Pattern: Composite: Zusammenfügen von Objekten zu einer Baumstruktur mit dem Ziel, alle in der Struktur enthaltenen Objekte (Components und Container) gleich behandeln zu können. Beide Klassen sind abstrakt. Das heisst, dass ein Container oder eine Component niemals in dieser Form vorkommen können. Alle Dialogelemente des AWT sind von der Klasse Component abgeleitet und alle Elemente, auf denen Dialogelemente plaziert werden können, sind Unterklassen von Container. In unserem vorangegangenen Beispiel ist die Klasse java.awt.frame von Container abgeleitet und das Element java.awt.label von Component. Hier ein Beispiel für ein Composite. Dank dieser Struktur ist es dem Runtime-System möglich, mit dem Aufruf der Methode paint() das gesamte Fenster neu zu zeichnen. Ein Objekt vom Typ Component zeichnet tatsächlich etwas auf den Bildschirm und ein Objekt vom Typ Container wird von allen registrierten Components die Methode paint() aufrufen. zuletzt überarbeitet: Pascal Joos : 11/21 HFU

12 Container Ein Objekt der Klasse Container kann weitere Komponenten aufnehmen. Damit ist es möglich, hierarchische Strukturen aufzubauen. Zudem ist es möglich, komplexere Layouts mit den vorhandenen Layout-Managern zu realisieren. Jedem Container kann ein Layout-Manager zugewiesen werden, der die Anordnung der enthaltenen Komponenten auf dem Bildschirm festlegt. Auf die Möglichkeiten wird im nächsten Abschnitt noch genauer eingegangen. Die folgende Abbildung zeigt die Klassenhierarchie der Elemente, welche von Container abgeleitet sind. Alle Klassen sind im Package java.awt enthalten. Im Rahmen dieses s soil nur auf die wichtigsten drei Klassen eingegangen werden. Es sind dies: Panel, Applet und Frame Panel Das Panel stellt einen unsichtbaren Container für Elemente dar. Der Hauptzweck dieser Klasse ist die Gruppierung von Elementen oder die Zusammenfassung einiger Elemente, um diese in einer bestimmten Anordnung auf dem Bildschirm darstellen zu können. zuletzt überarbeitet: Pascal Joos : 12/21 HFU

13 1-13 Das folgende Beispiel benutzt ein Panel, um zwei Knöpfe nebeneinander darzustellen: public AppMain(){ super("composite"); setlayout(new GridLayout(3, 1)); add(new Label("Label", Label.CENTER)); add(new TextField("TextField", 30)); Panel p = new Panel(); p.setlayout(new GridLayout(1, 2)); p.add(new Button("Button")); p.add(new Button("Button")); add(p); addwindowlistener(this); pack(); setvisible(true); Wie aus dem Sourcecode hervorgeht, werden die beiden Button unten im Fenster zuerst in einem Panel plaziert und dieses dann in das Fenster eingefügt. Damit ist es möglich, ein aufwendigeres Layout zu realisieren, als dies mit einem einzigen Standard-Layout-Manager möglich wäre Applet Die bekannteste und am weitesten verbreitete Form eines Containers ist die Klasse Applet aus dem Package java.applet. Im Bezug auf ihre Anwendung als Container für AWT-Komponenten unterscheidet sie sich nicht von einem Panel. Aus dem Klassendiagramm geht hervor, dass sie von dieser Klasse abgeleitet ist. Durch diese Erweiterungen gegenüber der Klasse Panel können Applets nur einmal pro Anwendung instanziert werden, respektive werden vom Browser instanziert. Sollen weitere Unterteilungen innerhalb eines Applets gemacht werden, so werden dazu Panels verwendet. Der Benutzer hat keine Möglichkeit, die Lebensdauer eines Applets direkt zu beeinflussen, ausser natürlich der Browser wird geschlossen oder auf eine andere gewechselt. Solange die angezeigt wird, die das Applet enthalt, existiert ein Objekt der Klasse Applet Frame Was die Klasse Applet für ein Internet-Applet ist, ist die Klasse Frame für eine Applikation. Im Gegensatz zur Klasse Applet ist Frame von der Klasse window abgeleitet, die ihrerseits von Container abgeleitet ist. Damit erbt Frame alle Eigenschaften von Container und window.. Die Klasse Window erweitert Container, so dass der Container in einem eigenen Fenster dargestellt wird. Damit wird ein Rahmen um den Container gezeichnet und das Systemmenü entsprechend dem verwendeten Windowsystem hinzugefügt. Zusätzlich zu den genannten Eigenschaften können in einem Frame noch weitere Eigenschaften verändert werden. zuletzt überarbeitet: Pascal Joos : 13/21 HFU

14 1-14 Das folgende Beispiel erzeugt ein Fenster, dessen Grösse fest ist, einen bestimmten Titel aufweist und einen einfachen EventListener besitzt, um das Fenster zu schliessen. import java.awt.*; public class CounterWindow extends Frame implements Observer { // Konstruktoren public CounterWindow(Counter model){ settitle("counter"); setlayout(new BorderLayout()); setresizable(false); addwindowlistener(new CounterWindowListener()); pack(); setvisible(true); Im Fenster sind die mittleren drei Knopfe auf einem Panel angeordnet, welches in das Gesamtlayout eingefügt wird. Die Methode pack() stammt aus der Klasse window, setvisible(true) aus Component. pack () bewirkt, dass das Fenster auf seine optimale Grösse gebracht wird. Wobei die optimale Grösse durch die darin enthaltenen Komponenten bestimmt wird. Jede Komponente wird dabei gefragt, was seine minimale Grösse ist getminimumsize(), um noch richtig dargestellt zu werden. Nachdem das Frame erzeugt und die Grösse angepasst wurde, ist es noch nicht zu sehen. Das besorgt die Methode setvisible(true) aus der Klasse Component. Nach deren Aufruf wird das Fenster auf dem Bildschirm dargestellt und eingehende Events werden an den entsprechenden Eventhandler (XXXListener) weitergeleitet Wichtig ist, dass immer ein Eventhandler für ein Objekt der Klasse window definiert wird, sonst kann das Fenster nicht mehr geschlossen werden, da diese Aktion einen windowevent auslöst, auf den reagiert werden muss. Existiert kein windowlistener, so muss die Java Virtual Machine gestoppt werden. Je nach Betriebssystem ist das einfacher oder riskanter Layout-Manager Layout-Manager dienen dazu, GUI-Komponenten in einem Container automatisch, entsprechend dem zur Verfügung stehendem Platz, sinnvoll anzuordnen. LayoutManager ist ein Interface aus dem Package java.awt. Im AWT existieren einige konkrete Implementationen dieses oder des von ihm abgeleiteten Interfaces LayoutManager2. Der Unterschied zwischen diesen beiden Interfaces besteht darin, dass das Interface LayoutManager2 schon einige Methoden definiert, welche die Ausrichtung der Komponenten entlang der X bzw. Y Achse vorsieht. Die Interface- und Klassenhierarchie ist in der folgenden Abbildung dargestellt. In der Darstellung sind Interfaces mit dem Stereotyp «Interface» gekennzeichnet. Die Interfaces werden durch verschiedene LayoutManager implementiert, die nachfolgend kurz erläutert werden: zuletzt überarbeitet: Pascal Joos : 14/21 HFU

15 FlowLayout Der FlowLayout-Manager ordnet die Komponenten wie die Worter eines Fliesstextes nebeneinander an und bricht Komponenten, die auf einer Zeile nicht mehr Platz finden, auf die nächste Zeile um. Hier ein Beispiel, welches das Verhalten des FlowLayout-Managers zeigt. Dank dieser Eigenschaft eignet sich dieser Layout-Manager besonders gut, um in Applets eingesetzt zu werden GridLayout Nicht immer ist ein automatischer Zeilenumbruch erwünscht. Daher existieren weitere Layout-Manager, die eine genauere Positionierung der Elemente erlauben. Ein einfacher Layout-Manger ist der GridLayout-Manager. Er teilt den zur Verfügung stehende Platz in eine beliebige Anzahl gleich grosser Zellen ein. Wie die Einteilung gemacht wird, kann im Konstruktor angegeben werden. Eine nachträgliche Änderung der Zellenzahl ist nicht möglich. public GridLayout(int yzellen, int xzellen); Die erste Zahl gibt an, in wieviele Zeilen das Fenster geteilt wird und der zweite Parameter legt die Anzahl Spalten fest. In der folgenden Abbildung ist zu sehen, dass sich durch eine Veränderung der Fenstergrösse nur die Elementgrösse ändert, nicht aber deren Anordnung oder gar deren Reihenfolge. zuletzt überarbeitet: Pascal Joos : 15/21 HFU

16 Border-Layout Oft benötigt man eine Einteilung in unterschiedlich grosse Bereiche. Bei einem Texteditor zum Beispiel ist in der Mitte das Eingabefeld, welches die grosse Fläche im Fenster beansprucht und die Bedienungselemente wie Statuszeile, Scrollbars und Toolbar sind rund um diesen Bereich angeordnet. Dieser Fall der Fensteraufteilung wird häufig gebraucht, daher existiert dazu der BorderLayout-Manager. Das Fenster wir in fünf Bereiche aufgeteilt, welche mit den Himmelsrichtungen angesprochen werden. Die Mitte trägt die Bezeichnung CENTER. In der folgenden Abbildung ist das Resultat der Verwendung dieses Layout-Managers zu sehen. Wie beim GridLayout- Manager ändern auch hier die Elemente ihre Grösse, wenn die Grösse des Fensters verändert wird. public class AppMain extends Frame implements WindowListener { // Konstruktor public AppMain() { super("borderlayout"); setlayout(new BorderLayout() ) ; add(new Button("NORTH"), BorderLayout.NORTH); addfnew Button("WEST"), BorderLayout.WEST); add(new Button("CENTER"), BorderLayout.CENTER); add(new Button("EAST"), BorderLayout.EAST); add(new Button("SOUTH"), BorderLayout.SOUTH); addwindowlistener(this) ; pack(); setvisible(true); Wie man sieht, ist es bei diesem Layout-Manager irrelevant, in welcher Reihenfolge die Komponenten eingefügt werden. Bei allen vorangegangenen entscheidet die Reihenfolge der Components die Position im Fenster. Ist eine Fläche nicht durch eine Komponente belegt, so bekommt diese auch keinen eigenen Bereich im Fenster. Der Border-Layout eignet sich besonders gut zur Implementierung von Anwendungen, die einen grossen Bereich an Daten haben, mit denen der Benutzer arbeiten muss. zuletzt überarbeitet: Pascal Joos : 16/21 HFU

17 Card Layout Das CardLayout verwaltet mehrere Panels, die alle iibereinander liegen. Welches Panel zuvor-derst und somit auch sichtbar ist, kann durch einen Methodenaufruf verandert werden: public void show(container, String); Das folgende Beispiel ist ein einfaches Chat Programm, bei dem der Login-Screen anders aussieht als das eigentliche Chat-Panel. In Die folgenden Darstellungen zeigen den Loginscreen und das eigentliche Chat-Panel. Zu beachten ist, dass der CardLayout-Manager das Fenster immer so gross macht, dass das Panel mit der grössten benötigten Flache hineinpasst. Die Methode CardLayout.next() schaltet zwischen dem ersten Panel, dem Loginscreen, und dem zweiten, dem Chat Panel, hin und her GridBagLayout Der GridBagLayout-Manager ist mit dem GridLayout-Manager verwandt. Auch hier wird die verfügbare Fläche in gleich grosse Bereiche unterteilt. Beim GridBagLayout kann sich eine Komponente über mehrere solcher Teilflächen erstrecken, so können kompliziertere Layouts realisiert werden. In der Anwendung ist der GridBagLayout etwas komplizierter, er benötigt die Hilfsklasse GridBagConstraints. An dieser Stelle wird nicht weiter auf diesen Layout-Manager eingegangen Kombinierte Layouts Um ein umfangreicheres Layout zu realisieren, werden mehrere Container mit passenden Layout-Managern geschickt verschachtelt. zuletzt überarbeitet: Pascal Joos : 17/21 HFU

18 Swing Einführung Warum Swing wen es doch AWT gibt? Der Abstract Window Toolkit AWT ist in seinen Möglichkeiten begrenzt und genügt nicht, ein modernes, komplexes GUI zu implementieren. Der AWT stellt eigentlich nur eine Schnittstelle zwischen Java und dem Windowsystem zur Verfügung, auf dem die Java-Virtual-Machine läuft. Das Konzept der Peer-Klassen, d.h. jede GUI- Komponente auf die entsprechende GUI-Komponente der jeweiligen Plattform abzubilden, beschränkt die zur Verfügung stehenden Komponenten auf die Schnittmenge aller" GUI-Komponenten der plattformspezifischen Window-Systeme. Zudem zeigte es sich, dass völlig Plattform-unabhängiges Verhalten durch eine noch so gute Kapselung der plattformspezifischen GUI-Komponenten nicht völlig zu erreichen ist. Aus diesem Grund kündigte JavaSoft im April 1997 die Java Foundation Classes JFC an, deren Hauptbestandteil Swing" eine umfassende und konzeptionell gut durchdachte Klassenbibliothek ist. Swing basiert und umfasst zwar den AWT, aber es verwendet nur für Top-Level-Windows dessen Peers. Die anderen GUI- Komponenten sind vollständig in Java implementiert, sogenannte Lightweight- Komponenten. Swing übernimmt aus dem AWT das JDK l. l Eventhandling und verfügt über eine Vielzahl neuer GUI-Komponenten. Beim JDK 1.1 musste Swing als separate Bibliothek verwendet werden. Der JDK 1.2 integriert die Java Foundation Classes und damit Swing Java Foundation Classes und Swing Neben den GUI-Bibliotheken umfassen die Java Foundation Classes noch drei weitere APIs,auf diese wird hier nicht näher eingegangen: Java 2D: Verbessert und erweitert die Möglichkeiten der Graphikprogrammierung des AWT. Drag and Drop: Erlaubt Drag and Drop mit anderen (Native-)Applikationen auf der jeweiligen Plattform. Accessibility: Erlaubt GUIs mit zusätzlichen Interaktionsmöglichkeiten zu versehen, wie z.b. Spracheingabe oder Bildschirmlupen", die physisch behinderte Personen in der Benutzung der Userinterfaces unterstützen. zuletzt überarbeitet: Pascal Joos : 18/21 HFU

19 Konvertierung von AWT zu Swing Die 1:1-Konversion einer Applikation von AWT auf Swing ist einfach zu bewerkstelligen: 1. Für alle AWT-Komponenten den entsprechenden Swing-Ersatz verwenden. Meist gibt es eine entsprechende Swing-Komponente mit vorangestelltem J: Button JButton. 2. Einige Swing-Container wie JFrame nehmen ihre Komponenten nicht direkt auf, sondern besitzen dafür eine ContentPane. Also werden hier die Komponenten der ContentPane hinzugefügt: add() getcontentpane().add(). Im folgenden Beispiel sehen wir, durch Fettdruck hervorgehoben, den 1:1-Upgrade unseres minimalen MVC-Counters auf Swing. Es muss nur die View-Klasse geändert werden MVC bei Swing Die grundlegenste Eigenschaft von Swing ist die konsequente Verwendung einer vereinfachten Model-View-Controller-Architektur. Die meisten sichtbaren GUI-Komponenten von Swing, selbst ein Button, besitzen ein Modell, welches die dargestellten Daten und den Zustand der sichtbaren View beinhaltet. Da ein Controller sehr eng mit einer View zuletzt überarbeitet: Pascal Joos : 19/21 HFU

20 1-20 zusammenarbeitet, wird er in Swing mit der View zu einem sogenannten UI-Delegate zusammengefasst. Die MVC-Architektur ist also in Swing zu einer M-UI-Architektur vereinfacht. Eine sichtbare Swing-Komponente besteht aus dem eigentlichen Repräsentanten der Komponente, einem UI-Delegate und in der Regel aus einem Modell. Ursprünglich wird die MVC-Architektur auf ganze Applikationen angewendet: Das Modell besteht dann im wesentlichen aus dem Domainmodell der Applikation. In Swing besitzt aber jede einzelne, sichtbare GUI-Komponente ein Modell. Swing-Komponenten kann man im Prinzip wie AWT-Komponenten verwenden, ohne ihre innere MVC-Architektur zu berücksichtigen. Da wo Swing-Komponenten aber Domaindaten darstellen, gelangt man durch Einbezug des Swing-Modells in das Domainmodell zu einer sehr einfachen und eleganten Lösung Lightweight-versus Heavyweight-Komponenten Als Heavyweight-Komponenten werden sichtbare GUI-Komponenten bezeichnet, die einen Peer besitzen. Der Peer bindet die Java-GUI-Komponente an eine Native-GUI- Komponente des jeweiligen Windowsystems an. Heavyweight-Komponenten bzw. deren Peer werden so direkt vom Windowsystem verwaltet. Sie entziehen sich dadurch einer vollständigen Kontrolle durch Java. Alle sichtbaren AWT-GUI- Komponenten sind heavyweight. Swing besteht aus Lightweight-Komponenten. Diese sind vollständig in Java geschrieben und besitzen keinen Peer. Lightweight-Komponenten werden von ihrem Container kontrolliert. Ein GUI kann nicht vollständig aus Lightweight-Komponenten bestehen. Alle Top- Level-Windows müssen vom Windowsystem direkt verwaltet werden, das ja die Top- Level-Windows verschiedener Applikationen (Java- und Native-Applikationen) koordinieren muss. Nur innerhalb eines Top-Level-Windows kann eine Applikation tun, was ihr beliebt, d.h. im Falle von Swing, ihre eigenen Lightweight-Komponenten darstellen und manipulieren. Sobald eine GUI-Komponente über den Rand ihres Top-Level-Windows herausragt, muss es sich um eine Heavyweight-Komponente handeln. Beim Mischen von Heavyweight- und Lightweight-Komponenten innerhalb von Top- Level-Windows ist Vorsicht geboten, es können sogenannte Clipping-Fehler (falsches Überlagern) auftreten Pluggable-Look-and-Feel PLAF Der AWT verwendet mit seinen Peers das Look-and-Feel (L&F) der jeweiligen Plattform, also Motif auf Unix-Plattformen, Windows-L&F auf Windows95/98/NT und Mac-L&F auf Macintosh. In Swing macht es die Verwendung von Lightweight-Komponenten einfach, sich vom L&F der jeweiligen Plattform zu lösen. Swing erlaubt das L&F zur Laufzeit zu wechseln, sogenanntes Pluggable-Look-and-Feel (PLAF). Java besitzt sein eigenes L&F: Metal, das per Default verwendet wird. Daneben sind Windows-, Motif- und Mac-L&F (noch unvollendet) vorhanden. Anwender können auch ihr eigenes L&F implementieren. zuletzt überarbeitet: Pascal Joos : 20/21 HFU

21 1-21 Ermöglich wird PLAF durch die konsequente MVC-Architektur. Beim Wechseln des L&F wird jeweils das UI-Delegate jeder sichtbaren GUI-Komponente ausgetauscht Eigenschaften von Swing Neben MVC-Architektur, Lightweight-Komponenten und PLAF besitzt Swing eine Reihe weiterer Eigenschaften, die es vom AWT abhebt: Swing enthält eine Vielzahl neuer, mächtiger Komponenten wie Tabellen (JTable), Baumstrukturen (JTree), Schieberegler (JSlider), Progress-Bars (JProgressBar) und interne Frames (JInternalFrame). Swingkomponenten können mit ausgefeilten Rahmen umgeben werden, die auch Beschriftungen erlauben. Swingkomponenten können Tooltips aufweisen, die in einem Pop-Up-Menu automatisch erscheinen, wenn die Maus eine gewisse Zeit über der Komponente verweilt. Swingkomponenten implementieren das Accessible-Interface, so dass sie mit Bedinungshilfen versehen werden können wie z.b. Audio-Ausgabe, Spracheingabe. zuletzt überarbeitet: Pascal Joos : 21/21 HFU

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine

Mehr

GUI Programmierung mit JAVA Swing

GUI Programmierung mit JAVA Swing GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische

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

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

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische

Mehr

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

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in

Mehr

Graphische Benutzungsoberflächen

Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen

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

Beispiel: Eine Choice-Liste...

Beispiel: Eine Choice-Liste... Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )

Mehr

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

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

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

Grundlagen der Programmierung APPLETS

Grundlagen der Programmierung APPLETS Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:

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

Grafische Benutzeroberflächen mit Swing

Grafische Benutzeroberflächen mit Swing Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,

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

NTB Druckdatum: 01.04.13 -

NTB Druckdatum: 01.04.13 - AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

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

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: graphical user interface, GUI) in Java GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

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

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

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

Schulungsunterlagen zur Version 3.3

Schulungsunterlagen zur Version 3.3 Schulungsunterlagen zur Version 3.3 Versenden und Empfangen von Veranstaltungen im CMS-System Jürgen Eckert Domplatz 3 96049 Bamberg Tel (09 51) 5 02 2 75 Fax (09 51) 5 02 2 71 Mobil (01 79) 3 22 09 33

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

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

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

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Carolo Knowledge Base

Carolo Knowledge Base KB 07: Wie stelle ich ein fremdsprachiges Layout ein? (1) My-T-Soft verhält sich bezüglich fremdsprachiger Layouts wie eine physische Tastatur, d.h. sie liefert lediglich die Codes für die einzelnen Tasten.

Mehr

Eine Anwendung mit InstantRails 1.7

Eine Anwendung mit InstantRails 1.7 Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen

Mehr

Projektthema: Modul Programmiersprachen (Java)

Projektthema: Modul Programmiersprachen (Java) Projektthema: Modul Programmiersprachen (Java) Thema: Fliegender Ball Entwickeln Sie ein Java- Programm mit dem Namen FliegenderBall. Dieses zeigt einen Ball, der sich über die Bildfläche bewegt und an

Mehr

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: 11.09.2014 Änderungen vorbehalten

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: 11.09.2014 Änderungen vorbehalten Präventionsforum+ Erfahrungsaustausch HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch Stand: 11.09.2014 Änderungen vorbehalten Anlage zum Endnutzer-Handbuch Handout Gruppen-Administratoren

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

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

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

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

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

HTML Programmierung. Aufgaben

HTML Programmierung. Aufgaben HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite

Mehr

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen. Millennium SMS Service Schnellübersicht Seite 1 von 6 1. Tägliche Arbeiten mit der SMS Bestätigung Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

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

SEPA-Anleitung zum Release 3.09

SEPA-Anleitung zum Release 3.09 Hier folgt nun eine kurze Information was sich mit dem neuen Release 3.08 zum Thema SEPA alles ändert. Bitte diese Anleitung sorgfältig lesen, damit bei der Umsetzung keine Fragen aufkommen. Bitte vor

Mehr

Was hat sich geändert:

Was hat sich geändert: Homepage-Baukasten Version 2.1.2 In diesem Dokument erfahren Sie die wichtigsten Neuerungen, die Ihnen in der Version 2.1.2 zur Verfügung stehen. Was hat sich geändert: 1. Spaltenfunktion 2. Integration

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

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

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

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Ereignisse (Events) in Java

Ereignisse (Events) in Java Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird

Mehr

Kapitel 3 Frames Seite 1

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

Mehr

2A Basistechniken: Weitere Aufgaben

2A Basistechniken: Weitere Aufgaben 2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Integrated Services Realtime Remote Network

Integrated Services Realtime Remote Network Integrated Services Realtime Remote Network How to CEyeClon Viewer V2 HT-A-003-V2-DE-2013-02-17-TZ-TZ CEyeClon AG Reitschulstrasse 5 2502 Biel / Bienne info@ceyeclon.com www.ceyeclon.com CEyeClon AG, Biel

Mehr

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung

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

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

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

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Programmieren 2 07 JavaFX-Properties und Data-Binding

Programmieren 2 07 JavaFX-Properties und Data-Binding Programmieren 2 07 JavaFX-Properties und Data-Binding Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Letztes Mal haben wir Entwickler synchronisiert...

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

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

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

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java

Mehr

Individuelle Formulare

Individuelle Formulare Individuelle Formulare Die Vorlagen ermöglichen die Definition von Schnellerfassungen für die Kontenanlage sowie für den Im- und Export von Stammdaten. Dabei kann frei entschieden werden, welche Felder

Mehr

Java Projekt: Tic Tac Toe + GUI

Java Projekt: Tic Tac Toe + GUI Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel

Mehr

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

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

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

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

Herstellen von Symbolen mit Corel Draw ab Version 9

Herstellen von Symbolen mit Corel Draw ab Version 9 Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

Mehr

LISP. Eine Einführung

LISP. Eine Einführung LISP Eine Einführung 5. OBERFLÄCHLICHES Übersicht 2 5.1 Verschiedenes zum letzten Aufgabenblatt 5.2 Geschwister und Komponenten oder wie finde ich was 5.3 on-click-methoden und on-change-methoden 5.1 Musterlösung

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Grundfunktionen und Bedienung

Grundfunktionen und Bedienung Kapitel 13 Mit der App Health ist eine neue Anwendung in ios 8 enthalten, die von vorangegangenen Betriebssystemen bislang nicht geboten wurde. Health fungiert dabei als Aggregator für die Daten von Fitness-

Mehr

Übersichtlichkeit im Dokumentenmanagement

Übersichtlichkeit im Dokumentenmanagement Übersichtlichkeit im Dokumentenmanagement Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de Datum: 02/2012

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

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

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

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

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

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

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

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog. Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung

Mehr