This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

--Wie verwendet man Client Actions

Dokumente für die Entwicklung von und mit JVx.

--Wie verwendet man Client Actions

Postby Development@SIB » Tue Sep 29, 2009 4:02 pm



Dieser Artikel ist veraltet - Bitte verwenden Sie unser neues System

https://doc.sibvisions.com





Als Client Action definieren wir eine Methode/Funktion die am Client zu einem vordefinierten Zeitpunkt, automatisch aufgerufen wird. Ein vordefinierter Zeitpunkt wäre z.B. ein Button klick, der Zeilenwechsel in einer Tabelle, Einfügen in einer Tabelle, ...

Das Action Konzept setzt auf das Listener Konzept von Java auf und vereinfacht die Listener Verwaltung und vor allem die Verwendung.

Die Methoden/Funktionen mit denen Actions definiert werden, beginnen in JVx mit event z.B. eventAction. Das erleichtert die Suche nach möglichen Actions in der javadoc und mit der IDE.


Verwendung

Die Definition einer Action kann auf zwei unterschiedliche Arten durchgeführt werden. Einerseits durch die Kombination von Objekt und Methodenbezeichnung:

Code: Select all
/**
 * Initializes the UI components.
 */
private void init()
{
    UIButton butCancel = new UIButton();
    butCancel.setText("Cancel");

    butCancel.eventAction().addListener(this, "doCancel");
}

/**
 *
 *
public void doCancel()
{
    dispose();
}

Die Zeile

Code: Select all
butCancel.eventAction().addListener(this, "doCancel");

besagt, das die Methode doCancel im Objekt this beim Klick auf den Cancel Button ausgeführt wird.

Die Methode

Code: Select all
public void doCancel()

wird in unserem Beispiel ohne Parameter und ohne throws Klausel definiert, da wir keine speziellen Anforderungen haben. Es wäre allerdings auch möglich die Methode so zu definieren:

Code: Select all
public void doCancel(UIActionEvent pEvent) throws Exception

Der Parameter wird von JVx nur übergeben wenn dieser auch in der Parameterbeschreibung enthalten ist. Wenn die throws Klausel angegeben wurde, werden die Exceptions von JVx abgefangen und an den Fehlerdialog weitergeleitet. Man muss sich also um die Fehler- Behandlung und Darstellung nicht mehr gesondert kümmern. Wenn jedoch eine spezielle Fehlerbehandlung nötig ist, muss ein try/catch Block implementert und die throws Klausel entfernt werden.


Da unser Action Konzept auf dem Java Listener Konzept aufsetzt, ist es auch ohne weiteres möglich mit Listenern zu arbeiten:

Code: Select all
butCancel.eventAction().addListener(new IActionListener()
{
    public void action(UIActionEvent pActionEvent)
    {
        dispose();
    }
});

oder

Code: Select all
public class MyFrame implements IActionListener
{
    public void action(UIActionEvent pActionEvent)
}
User avatar
Development@SIB
 
Posts: 325
Joined: Mon Sep 28, 2009 1:54 pm

Return to Documentation (DE)