Die Seite gibt eine Übersicht über freie und komerzielle Swing-Koponenten und Frameworks. Für JavaFX schaue hier.
Swing-Komponenten und Swing-Frameworks
SwingX (LGPL)
Von der Homepage:
The SwingX project exists to provide extensions to existing Swing components and Swing architecture (such as an ActionManager for helping manage Action instances). Whereas the JDNC [seit über 8 Jahren gestorben] project focuses on a general Application framework and solving a more specific set of application design problems, the SwingX project focuses exclusively on the raw components themselves. [...]
JXDatePicker - Standard date chooser component
- JXPanel - Adds translucency to the standard JPanel
- JXGlassPanel - Dismiss on click & drop shadow functionality
- JXTitledPanel - Title bar added to the JXPanel ala JGoodies
- JXHyperLink - Extends JLabel, adds action listener support
- JXRadioGroupy, JXHyperLink - Extends JLabel, adds action listener support
- JXRadioGroup - Simplifies dealing with ButtonGroup & JRadioButton
- JXScrollUp - Extends JXTitledPanel, adds collapsing functionality
- JXStatusBar - Enhanced status bar functionality
- JXMonthView - Displays a month calendar
- JXErrorPane - Enhanced standard error dialog
- JXEditorPane - Enhancements to JEditorPane
- JXList - Adds in place editing to JList
- JXTable - Adds filtering/sorting/highlighting/column hiding to JTable
- JXTree - Enhancements to JTree
- JXTreeTable - Combination of JTree & JTable [UI Specification]
- JXFindDialog - Standard find dialog
- JXComboBox - Enhanced JComboBox supporting embedded tables, etc
- JXButtonPanel - Smart panel for displaying buttons in OS specific & local specific order"
- JXTitledSeparator
![[Screenshot]](swing-images/SwingX_login_dialog.png)
Zur JXScrollups gibt es einen Beitrag bei Javalobby und zur JTaskPaneGroups ebenfalls bei Javalobby.
Oxbow
Neue Dialogboxen, angelehnt an Dialog-Boxen von Windows Vista. Und Tabelle-Filter:
Insubstantial (aka Substancial, Flamingo)
Kirill Grouchnikov hat in den letzten Jahren eine Reihe von Swing-Erweiterungen entwickelt, doch die Weiterarbeit eingestellt. Die Flamingo Swing Component Suite ist oft durch ihre Hauptkomponente bekannt, dem Ribbbon (bekannt als Microsoft Office 2007 Command). Eine weitere Komponente, die auch im JRibbon benutzt wird, ist der Command Button (JCommandButton und JCommandToggleButton), also eine Schaltfläche mit einem Auswahlmenü. Die Command-Buttons können in einer Gruppe, genannt Command-Button Strip und Command button Strip, zusammengefasst werden. Eine weitere Komponente ist die Breadcrumb-Bar. Als Letztes bietet die Flamingo Suite noch skalierbare Icons. Diese Eigenschaft wird aber eher intern von den Komponenten genutzt, wobei natürlich die Klassen auch für eigene Anwendungen zur Verfügung stehen. Parallel zu Flamigo gab es trident, eine Animationsbibliothek und substance, ein Look-and-Feel-Set.
Nach dem Kirill sich von seinem Projekten abwandte, forkte Danno Ferrin die Projekte und fasste sie unter dem Projekt Insubstantial (https://github.com/Insubstantial) zusammen. Nun sucht dieser aber auch einen Nachfolger.
JIDE Common Layer
JIDE ist ein Unternehmen, welches schon seit vielen Java qualitativ hochwertige Swing-Komponenten baut. Einige der Komponenten sind frei, weitere wie das Docking-Framework, Action Framework, (Pivot) Grids, Code Editor und weitere gehören zum kommerziellen Teil. Die Komponenten aus dem JIDE Common Layer stehen unter dual-license: GPL und free commercial license und liegen unter https://github.com/jidesoft/jide-oss.
Textbox, die sich automatisch erweitert
Tabelle und Liste mit Checkboxen, Split-Pane mit mehreren Bereichen
![]() | ![]()
|
Neue Border und Border-Layout mit anderer Anordnung Norden und Süden
![]() | ![]() |
Button-Gruppe und Datums, Popupmenü verbreiterbarer Größe und Zeit/Datum-Auswahl
![]() | ![]() | ![]() |
Neue Standard-Dialoge
Verzeichnisauswahl
Overlay legt Komponenten über andere Komponenten
Aab Java 7 gibt es JLayer.
Scrollpane mit Platz für weitere Komponenten, Slider mit zwei Enden
![]() | ![]() |
Container mit Suche und Selektion
Statt Scrollbar automatisches Scrollen durch Pfeile
Diverse Label
Reiterkomponente
JFreeChart (LGPL)
Von der Homepage:
JFreeChart is a free Java class library for generating charts, including: pie charts (2D and 3D); bar charts (regular and stacked, with an optional 3D effect); line and area charts; scatter plots and bubble charts; time series, high/low/open/close charts and candle stick charts; combination charts; Pareto charts; Gantt charts; wind plots, meter charts and symbol charts; wafer map charts.
Ein WebStart Demo zeigt die Charts in aller Pracht.
xhtmlrenderer Flying Saucer (LGPL)
100% Java XHTML + CSS Renderer. Eine ausgezeichnete Alternative zum armseligen HTML-Renderer von Swing.
Quaqua Look and Feel (LGPL or BSD)
JBrowser (Tei der Mac OS Look-and-Feel Implementierung) bildet das Verhalten der Mac OS X NSBrowser Komponente (Spalten-Ansicht) nach.
Docking Frames (LGPL)
Docking-Komponente. Unter aktiverer Entwicklung.
InfoNode (GPL/commercial)
Docking Windows Implementierung für Swing.
Letztes Update im Februar 2009. Für eine verkaufte Komponente keine gutes Zeichen.
FlexDock (MIT)
Von der Homepage:
FlexDock is a Java docking framework for use in cross-platform Swing applications. It offers features you'd expect in any desktop docking framework such as: Tabbed and Split Layouts, Drag-n-Drop capability, (with native drag rubber band painting on some platforms), Floating windows, Collapsible Containers to Save Real Estate, Layout Persistence.
Ein Tutorial gibt es hier: FlexDock. Letztes Update März 2007.
MyDoggy
Von der Homepage:
MyDoggy is a Java docking framework to be used in cross-platform Swing applications. MyDoggy is an IntelliJ Idea like docking framework for managing secondary windows within the main window. MyDoggy allows to move,resize or extract those secondary windows. Also, MyDoggy provides support for content management of the main window. Like Eclipse, MyDoggy supports the concept of 'prospective' using mydoggy groups.
Demo: WebStart.
The DJ Project
Von der Webseite:
The DJ Project is a set of tools and libraries to enhance the user experience of Java on the Desktop.
Ein Java Webstart (Win32) Demo gibt einen Einblick.
Xito Dialog Framework (Apache License)
Von der homepage:
Dialog Framework provides a simple to use Dialog API which provides flexible attractive user interfaces for alert messages and dialogs. The Dialog framework can be used to show simple messages or warning or can be used to display complete custom dialogs.
TreeWrapper (LGPL)
Drag und Drop von Einträgen in einer JTree.
Features von der Homepage:
- No need to extend JTrees: any JTree (or derivative) will work
- Provides visual feedback for drag an drop, but respects existing custom cell renderers.
- Automatically expands collapsed nodes during drag and drop.
- Automatically scrolls the JTree during drag and drop.
- Supports drag and drop operations between different JTrees
- Supports both copy and move operations between trees
- Automatically bans dragging a parent into a child
- Allows for string-to-tree drag and drop, (so that you can drag from a JTextField, for instance)
- Easily customizable: using listeners you can veto drag and drop operations
- Adds support for custom popup menus in trees
Zeus Java Swing Components Library (LGPL)
Von der Homepage:
Zeus a Java Swing Components Library. Provides usefull swing components for easier GUI development. Some of the major components are: JConsole, JSplash, TableSorter, WindowManager, SingleAppInstance and much more.
Der WindowManager kümmert sich dann um die Anordnung von Fenstern.
Enhanced Scrolling for Swing
SteelSeries
Swing Gauge und LCD-Komponenten.
JSyntaxPane
Java EditorPane mit Unterstützung für Syntax-Highlighting. Ein
jEdtTest.setEditorKit( new SyntaxKit("java") );
reicht, und schon gibt es eine farbliche Hervorhebung.
Icons
- Icons For Your Desktop and Icons For Your Web Designs
- FamFamFam. Hübsche Icons im Eclipse-Stil. Das Icon-Set ist unter der Creative Commons Attribution 2.5 License. Kategorien: Silk (500), Flags (239), Mini (144).
- Tango Desktop Project
- More under http://www.maxpower.ca/free-icons/2006/03/05/
- iconfinder.net - Worlds largest icon search engine
Interessante Links
- SwingLabs Foren (diskutiert JDNC, DataBinding, SwingX Extensions)
- SwingWiki
- Glazed Lists (Toolkit für List-Transformation)
- Exploring noise
- Spice up Text Components with Keyboard Shortcuts
- Making JTable look more at home on Mac OS and GNOME
- All hail the PropertyChangeListener