Package de.guibuilder.framework.event

Package framework.event Sammlung von Klassen, die durch Benutzeraktionen (MenuItem, Button, DblClick, ...) ausgelöst werden.

See:
          Description

Class Summary
GuiActionEvent Von einem MenuItem oder einem Button ausgelöster ActionEvent.
GuiChangeEvent Der Benutzer hat den Inhalt eine Komponente verändert; dieses geschieht bei Check, Option, Combo und List unmittelbar durch das Anklicken; bei Text, Memo und Editor erst beim LostFocus.
GuiDblClickEvent Title: GuiBuilder Description: Copyright: Copyright (c) 2001 Company:
GuiKeyEvent Es ist ein Key-Typed-Ereignis aufgetreten.
GuiLostFocusEvent Es ist ein Lost-Focus-Ereignis aufgetreten.
GuiMessageBoxEvent Von einer MessageBox ausgelöster Event.
GuiMouseMovedEvent Wird ausgelöst, wenn die Maus über einem Objekt bewegt wird (isDrag = false) oder DragDrop vorliegt (isDrag = true).
GuiMouseOverEvent Wird ausgelöst, wenn die Maus über einem Objekt erscheint (isOver = true) oder es wieder verläßt (isOver = false).
GuiTableEvent Der Benutzer hat ein Ereignis in Zusammenhang mit einer Tabelle ausgelöst.
GuiTabSelectionEvent  
GuiTreeNodeChangeEvent  
GuiTreeNodeSelectionEvent  
GuiUserEvent Abstrakte Basis-Klasse für alle vom Benutzer ausgeübten Ereignisse.
GuiWindowEvent Fensterereignisse.
 

Package de.guibuilder.framework.event Description

Package framework.event

Sammlung von Klassen, die durch Benutzeraktionen (MenuItem, Button, DblClick, ...) ausgelöst werden.

Diese Klassen werden benötigt, wenn der GuiBuilder als Laufzeitsystem eingesetzt wird.

Vorgehen beim GuiDesign

Menüeinträge und Buttons müssen ein ActionCommand erhalten:

<Item label="%Save" cmd="save_actionPerformed"/>

Bei allen anderen Komponenten sind die Benutzeraktionen zu spezifizieren, auf die der Controler reagieren soll.

<Form label="MyForm" OnClose="exit_actionPerformed">

Hierbei ist es denkbar, daß verschiedene Komponenten die selbe Aktion auslösen: also z.B. ein Button in der Toolbar und ein Menüeintrag.

Controler implementieren

Die spezifizierten Benutzerereignisse müssen von einem Controler verarbeitet werden. Hierbei sind Methoden  gemäß den spezifizierten Namen zu implementieren:

public void save_actionPerformed(GuiUserEvent event)

Diese Methode wird beim entsprechenden Ereignis per Reflection dann aufgerufen, wenn sich der Controler bei der Componente registriert hat. Als Argument wird immer die abstrakte Klasse GuiUserEvent übergeben; es kann aber bei Bedarf auf das entsprechende Event ge-cast-et werden.

Der Controler kann bei allen Oberflächen-Componenten registriert werden.

GuiWindow myWin = GuiFactory.getInstance().createWindow("MyWindow.xml");
myWin.setControler(this);

Der für die Componente zuständige Controler wird im Baum der Abhängigkeiten aufwärts gesucht, wenn die Componente keinen eigenen Controler hat.

Auf diese Art ist es möglich, daß ein Controler für das gesamte Fenster zuständig ist, aber auch daß einzelne Registerkarten (mit ihren darauf befindlichen Componenten) oder einen Componente auch ihren individuellen Controler haben.

Ist eine spezifizierte Methode nicht implementiert, wird auf System.err eine Fehlermeldung ausgegeben.