HomeDownloadsUser GuideDevelopment

Development: Editor Libraries

Editor Libraries Overview

Libraries used by the permis editor.

The following table lists these tools along with the versions, homepages and licensing information.

List of Tools

Tool Version Homepage
AppFramework 1.0.3 https://appframework.dev.java.net/
BeansBinding 1.2.1 https://beansbinding.dev.java.net
DockingFrames 1.0.7.6c http://dock.javaforge.com/
dom4j 1.6.1 http://www.dom4j.org/dom4j-1.6.1/index.html
Forms 1.2.1 http://www.jgoodies.com/downloads/libraries.html
Jaxen 1.1.1 http://jaxen.codehaus.org/index.html
Silk Icons 1.3 http://www.famfamfam.com/lab/icons/silk/
swing-layout 1.0.3 https://swing-layout.dev.java.net/
SwingWorker 1.2 https://swingworker.dev.java.net/
SwingX 0.9.4 http://swinglabs.org/

Editor Libraries Details

The following section lists detail information for each of the libraries.

Please refer to the corresponding tool.xml description in the tool directory for further information.

AppFramework

The JSR-296 Swing Application Framework prototype implementation is a small set of Java classes that simplify building desktop applications. The prototype provides infrastructure that's common to most desktop applications:

  • Application lifecyle, notably GUI startup and shutdown.
  • Support for managing and loading resources, like strings, formatted messages, images, colors, fonts, and other types common to desktop applications.
  • Support for defining, managing, and binding Actions, including Actions that run asynchronously (in the "background").
  • Persistent session state: support for automatically and selectively saving GUI state from one run of an application to the next.
Version: 1.0.3
Homepage: https://appframework.dev.java.net/
License: Lesser General Public License (LGPL)
Requires: SwingWorker 1.2

BeansBinding

In essence, Beans Binding (JSR 295) is about keeping two properties (typically of two objects) in sync. An additional emphasis is placed on the ability to bind to Swing components.

Version: 1.2.1
Homepage: https://beansbinding.dev.java.net
License: Lesser General Public License (LGPL).

DockingFrames

DockingFrames is an open source Java Swing docking framework.

Version: 1.0.7.6c
Homepage: http://dock.javaforge.com/
License: LGPL 2.1

dom4j

dom4j

dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.

Version: 1.6.1
Homepage: http://www.dom4j.org/dom4j-1.6.1/index.html
License: BSD style license

Forms

JGoodies Forms

The JGoodies Forms framework helps you lay out and implement elegant Swing panels quickly and consistently. It makes simple things easy and the hard stuff possible, the good design easy and the bad difficult.

Version: 1.2.1
Homepage: http://www.jgoodies.com/downloads/libraries.html
License: BSD

Jaxen

Jaxen

Jaxen is an open source XPath library written in Java. It is adaptable to many different object models, including DOM, XOM, dom4j, and JDOM. Is it also possible to write adapters that treat non-XML trees such as compiled Java byte code or Java beans as XML, thus enabling you to query these trees with XPath too.

Version: 1.1.1
Homepage: http://jaxen.codehaus.org/index.html
License: Apache-style

Silk Icons

FamFamFam Silk Icons

Silk is a smooth, free large set of 16-by-16 pixel icons in strokably-soft PNG format.

Version: 1.3
Homepage: http://www.famfamfam.com/lab/icons/silk/
License: Creative Commons Attribution 2.5 License

swing-layout

Swing Layout Extensions goal is to make it easy to create professional cross platform layouts with Swing.

Version: 1.0.3
Homepage: https://swing-layout.dev.java.net/
License: Lesser General Public License (LGPL)

SwingWorker

When writing a multi-threaded application using Swing, there are two constraints to keep in mind: (refer to How to Use Threads for more details):

  • Time-consuming tasks should not be run on the Event Dispatch Thread. Otherwise the application becomes unresponsive.
  • Swing components should be accessed on the Event Dispatch Thread only.

These constraints mean that a GUI application with time intensive computing needs at least two threads: 1) a thread to perform the lengthy task and 2) the Event Dispatch Thread (EDT) for all GUI-related activities. This involves inter-thread communication which can be tricky to implement.

SwingWorker is designed for situations where you need to have a long running task run in a background thread and provide updates to the UI either when done, or while processing.

This project is a backport of SwingWorker included into 1.6.

Version: 1.2
Homepage: https://swingworker.dev.java.net/
License: Lesser General Public License (LGPL)

SwingX

SwingLab's SwingX provides a powerful suite of desktop components for all your Swing projects. Available under the LGPL license, the SwingX project is the perfect match for both your professional and personal projects.

Version: 0.9.4
Homepage: http://swinglabs.org/
License: Lesser General Public License (LGPL)
Requires: SwingWorker 1.2