SwingML
Swing Markup Language
Menu
About
News
Demo
Documentation
Download
Developers
June 2007

The SwingML 2.0 version is out.
SwingML on SourceForge has been dormant for the last couple of years. However, enhancements of the framework have continued. An emphasis has been put on using SwingML in a J2EE manner, leveraging the available Web based frameworks and pattern. See the J2EE SwingML approach in the documentation section of this site.

New features of the this release include...

-Enhanced Table and Tree Table browsers. These components incoroporate multiple sort, filtering, and direct editing capabilities.
-New Action Controller Event. This new listener event action type provides an easy to use API to invoke server side functionality based upon UI events.
-Key value pairs. A property element has been defined that allows key/value pairs to be defined in SwingML XML. These property values will be avilable via the SwingMLProperties singleton.
-Window Progress Bar. Window and Dialog components can optionally specify a progress bar reflecting rendering activity
-ScrollPane, Option Pane, and DesktopPane components have been added

September 2004

The SwingML 1.1 version is out.
This new version provides support for the following features:

-Added support for asynchronous server calls. POST and GET operations are performed in a multithread mode.
-Added support for granular UI rendering.
-Added support for showDocument() operation.
-Added FOREGROUND atribute to LABEL element.
-Added FOREGROUND attribute and BACKGROUND to TEXTAREA element.
-post-selected and post-all where changed to Post-Selected and Post-All for TABLE and LIST.
-true and false attributes where changed with True and False.
-null attribute was changed with None.

-The following Listeners:

ActionListener.actionPerformed.YES.
ActionListener.actionPerformed.NO.
ActionListener.actionPerformed.CANCEL.
ItemListener.itemStateChanged.SELECTED.
ItemListener.itemStateChanged.DESELECTED.

where changed with:.

ActionListener.actionPerformed.yes.
ActionListener.actionPerformed.no.
ActionListener.actionPerformed.cancel.
ItemListener.itemStateChanged.selected.
ItemListener.itemStateChanged.deselected.

May 2004

The SwingML 1.0 version is out.
This new version provides support for the following features:

-The TEXTFIELD element has been provided with support for a pop up editing menu .
-The TABBEDPANE element has been provided with support for TabListener.stateChanged and ChangeListener.
-The TREE element has been provided with support for the following listeners:
    TreeExpansionListener.treeCollapsed
    TreeExpansionListener.treeExpanded
    TreeExpansionListener.treeWillCollapse
    TreeExpansionListener.treeWillExpand
-The TABLE element has been provided with support for ListSelectionListener.
-A plug in for JavaScript and a scripting demo have been released and can be found in the Download section.

August 2003

The SwingML Beta 4.0 version is out.
This new version provides support for the following features:

-A Custom Script support tutorial has been written and can be found in the Download section.
-Added ENABLED property to CHECKBOX and TEXTFIELD elements.
-Added support for JFrame component through a new FRAME element.
-Added support for JSpiner component through a new SPINER element.
-Added BACKGROUND and FOREGROUND property support to TEXTFIELD element.
-Added MODAL property to DIALOG element.
-Fixed incorrect xml translation of the TABLE element when doing submit.
-Fixed error produced in LIST element when performing drag and drop and then doing submit.
-Fixed error in the way the SwingML renderer was handling urls.
-When runing the SwingML Renderer as stand alone app now it shows up in the center of the screen.
-Added support to specify initial SwingML Renderer size when running as stand alone app.

April 2003

The SwingML Beta 3.0 version is out.
This new version provides support for the following features:

-Improved mechanism for Custom Event Handling.
-The SwingML Renderer framework has been refactored to simplify the mapping of Custom and JFC/Swing components.
-The SwingML Renderer has been adapted to run as stand alone application as well as an applet.
-Table data elements (TD) now support checboxes, comboboxes and colors.
-Added DATA-STORE element which allows to use JavaScript through a mechanism like beanshell.
-Added EDITABLE support for the TEXTFIELD element.
-Added ENABLED support for the BUTTON element.
-Added support for MODE, POST-COLUMN and POST-STYLE to the TABLE element.
-Added EDITABLE support for TD elements in TABLE.
-Added LINE-WRAP support for TEXTAREA element.
-Added EDITABLE support for COMBOBOX element.
-Added support for PASSWORDTEXT element.

January 2003

The SwingML Beta 2.0 version is out.
This new version provides support for the following features:

-Drag and Drop support for the TREE and LIST elements.
-External Look & Feel libraries support. This feature allows the use of a Look & Feel other than the defaults supplied by the JRE (Metal, Windows, & Motif).
-MouseListener's doubleClicked and singleClicked events support for TABLE elements.
-Text ALIGN support for LABEL elements.
-Titled Border support for PANEL elements.
-POST-ALL and POST-CURRENT mode added for LIST elements.
-Added support for rendering elements on a predefined parent.
-NAME attribute support for GRIDBAG-ROW and GRIDBAG-CELL elements.
-VALUE attribute support for NODE elements.
-TREE element has been modified to be rendered without containing any NODE elements.
-Fixed a bug with the TOOLBAR element. A TOOLBAR wasn't getting rendered correctly when its ORIENTATION was East or West.
-ACTION element bug fixed. If the VALUES provided for the ACTION element contained blank spaces after been separated by a comma, the METHOD was not getting executed.

November 2002

The SwingML Beta 1.1 version is out.
This new version has many additions and improvements to the previous Beta 1.0 version.

This version provides support for the following JFC Swing components and features:

JMenuBar, JMenu, JMenu, JSeparator, ButtonGroup, JToolBar, JEditorPane, Customized Action Behavior support.

Several improvements have been made to the Renderer's internal architecture to provide better scalability and its size has been reduced to 110 KB in comparison with the 119 KB that weighted before the new additions.

What's coming next?

The future efforts will be directed to provide Drag and Drop capabilities and improvements in general to the internal architecture to reduce even more the Renderer size. The next goal is to launch the first non beta version in order to start with the second phase of the project which will include custom JFC Swing components.

October 2002

The first SwingML Beta 1.0 version is out.
This new version is released under GNU General Lesser Public License and has many additions and improvements to the previous Alfa version.

This version contains support for the following JFC Swing components, Listeners, Layouts and features:

JPanel, JTextField, JLabel, JButton, JTabbedPane, JInternalFrame, JTree, JTable, JList, JComboBox, JDialog, JCheckBox, JTextArea, JSplitPane, JOptionPane, JRadioButton, ActionListener, DocumentListener, FocusListener, ItemListener, ListSelectionListener, GridLayout, FlowLayout, BorderLayout, GridBagLayout, ToolTips, Icons, Debugging Messages, Multiple Look and Feels, POST and GET operations.

SwingML has been built entirely around an object oriented architecture and provides a flexible framework that can be extended to support custom made JFC Swing components or any other necessary feature. The SwingML specification is very simple and easy to understand and doesn't require any learning curve for developers with basic JFC Swing knowledge. The SwingML Renderer applet is only 119 KB and can be installed in a few minutes.

What's coming next?

The future efforts will be directed to provide support for a custom scripting mechanism, more JFC Swing components and improvements in general.