Switch to German language Switch to English language

Architecture Database Client modules XML modules XML panel Features Example ERP application

XML panel

Using XML panel allows a very easy and quick creation of fully functional editing forms in the application. These panels are integrated into modules then. The basic principle is shown in the following figure:

Basic functionality of an XML panel and task of the wigdet factory

The class which is responsible for implementing the panel (edit mask) uses a widget factory to create and place the widgets (components) in one or more container (if using Swing these are JPanel objects). The widget factory uses a XML file as input. Configuration of the panel and all widgets is done in this file. These XML files are localizable with connected properties files. The widget factory has the following duties:

The panel has access to all its components by using the widget factory. Ids are assigned to widgets to achieve this. These ids are then used to access the widgets in the source code. This gives the developer all possibilities offered by Java to extend the panel. For example further special adjustments can be made to the components or listener can be registered in order to extend their functionality etc.

Widgets on the panel can be divided into groups. This will be important if the XML panel has different areas to fulfill various tasks on the panel. Certain operations on all widgets in this group can be performed with one method call for example:

Widgets can have master-slave relationships among each other. If a value in a master widget changes, it will change the values or contents of the associated slave widgets. For example selecting a country in a combo box causes the appearance of related cities in another combo box. This all works without a single line of Java code.

Moreover it is very easy to create own widgets and use them in all panels like the standard widgets provided by the framework. These widgets can implement very complex functions and can consist of several components. It is also possible to expand the parser of the widget factory to add custom tags in the XML files which can be used and evaluated.

Based on the use of the widget factory you can develop completely new panels that will cover a completely different functionality. Thus this XML framework can be extended very individually and flexibly.


The Aviantes-Framework provides two different ready to use XML panel at the moment. The so-called XML-Edit-Panel is used for editing database tables with many data rows (>5000).

Example of an XML-Edit-Panel for editing articles

A data record has to be searched and loaded before it can be edited (unless a new one should be created). For that a search dialog will be opened if the user clicks the search button on the panel:

Search dialog for searching articles

By entering or selecting the desired search criteria a list with appropriate results is provided. One of the found data rows will be selected and can be edited in the panel then.

The user can add bookmarks and follow-ups to each data row:

Dialog for adding or editing a record bookmark

For example a user can add information that the inventory has to be checked in the future. The user can search for existing bookmarks/follow-ups in the bookmark search window:

Window for bookmark and resubmisson summary and search

Search criteria are entered in the upper part of the window in order to restrict the display of data rows. Double-clicking a bookmark will open the corresponding record in the panel. There exists also a global search of all bookmarks in all modules/panels. Selecting a bookmark opens the corresponding module and the record is displayed in it.


In the so called XML-Browser-Panel all available records are shown in the upper part of the panel (for example in a table or tree). It is suitable for tables which contains not so many records (maximum of several thousand). The panel for managing the roles is shown below. It uses a table as data browser.

Example of an XML-Browser-Panel for editing user roles

To edit a record it is selected in the table. This causes the data of the record shown in the widgets at the lower part of the panel. It is also possible to do a pre selection of the records shown in the table (not existing in the above panel). For this further widgets will be placed above the table (in the so-called Pre-Selector). Values entered/selected there restrict the displayed records in the table.