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

Können eigene, komplexe JVx Controls gebaut werden?

Allgemeine Fragen zur Entwicklung von und mit JVx.

Können eigene, komplexe JVx Controls gebaut werden?

Postby johnit » Fri Nov 16, 2012 7:20 pm

In den bei uns eingesetzten Frameworks haben wir ein komplexes Control für die Erfassung und für die Prüfung von Adressen gebaut.

Die einzelnen Teile des Adressen-Controls stehen miteinander in Beziehung. Daten werden über WebServices geladen. Bei Eingabe der PLZ wird der Ort übernommen. Ist die Straßeneingabe nicht korrekt oder eindeutig wird entweder die Schreibweise korrigiert oder es wird eine Liste der möglichen Treffer angezeigt. Dabei wird natürlich wieder die PLZ bzw. der Ort berücksichtigt. Es können nur Hausnummern erfasst werden, die in der betreffenden Straße existieren. usw. usw.
johnit
 
Posts: 45
Joined: Fri Nov 16, 2012 5:58 pm

Re: Können eigene, komplexe JVx Controls gebaut werden?

Postby Support@SIB » Fri Nov 16, 2012 7:24 pm

Ja.

  1. Sie haben die Wahl ob Sie UI unabhängige Controls erstellen wollen oder fix in einer Technologie bleiben, z.B. nur Swing.
  2. Sie können Sie eigene Controls mit vorhandenen Controls erstellen.
    Grundsätzlich ist JVx in diesem Punkt nicht anders wie alle anderen GUI Frameworks.

zu 1)

JVx abstrahiert ja die GUI Technologie und ermöglicht somit ohne das Sie ihren Source Code ändern, die Verwendung einer Applikation mit unterschiedlichen Technologien. Im Moment existiert eine Swing Implementierung und das WebUI mit Html/Ajax.

Von JVx wird der Zugriff auf die Technologie jedoch nicht eingeschränkt. Sie können zwischen mehreren Ansätzen wählen, z.B.: der Zugriff auf ein Swing JPanel

Code: Select all
UIPanel panTitle;

if (panTitle.getResource() instanceof JPanel)
{
((JPanel)panTitle.getResource()).setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.LIGHT_GRAY));
}


Mit getResource() erhalten Sie vollen Zugriff auf die zugrundeliegende Technologie!

UI unabhängiger können Sie mit UICustomComponent oder UICustomContainer arbeiten. Ein Beispiel hierfür liefert folgende Dokumentation: Benutzerdefinierte Komponenten

Wenn Sie UI unabhängige Komponenten verwenden möchten, müssen Sie für jede Technologie die Sie einsetzen möchten das IComponent Interface für Ihre Controls implementieren.

zu 2)

Wenn die einzelnen, bereits von JVx bereitgestellten, Komponenten (Button, Tabelle, Editoren, …) ausreichend sind, dann können Sie auch wie mit jedem anderen UI Framework beginnen Ihre Controls zu entwickeln.

Verwenden Sie z.B. ein UIPanel, setzen Sie ein UIFormLayout und fügen Sie Ihre Komponenten hinzu. Sie können bei valueChanged events jederzeit eine Validierung durchführen und somit das Eingabeverhalten „steuern“.

Als Resultat erhalten Sie ein wiederverwendbares Control.
User avatar
Support@SIB
 
Posts: 349
Joined: Mon Sep 28, 2009 1:56 pm

Re: Können eigene, komplexe JVx Controls gebaut werden?

Postby johnit » Fri Nov 16, 2012 7:29 pm

Ich meine, die Variante zwei (eigene, aus bestehenden UI-Controls zusammengesetzte Controls mit Logik) werden wir öfters benötigen.

Für einen ersten Test habe ich in einem neuen Package eine neue Klasse (Address), die UIPanel erweitert, angelegt. In dieser Klasse habe ich weitere UI-Controls (UILabel und UIEditor) mit Hilfe von UIFormLayout im Parent angeordnet.
johnit
 
Posts: 45
Joined: Fri Nov 16, 2012 5:58 pm


Return to Development (DE)