SwingX Components in NetBeans installieren

Allen Benutzern, die von fremden Portalen hier her gefunden haben, zunächst erst mal ein herzliches willkommen auf byte-welt.de!
Im Folgenden wollen wir klären, was SwingX ist und wie man die SwingX komponenten in NetBeans integriert, so dass sie mit Matisse, dem GUI-Builder, per Mausklick auf einer Oberfläche angeordnet werden können.

Bei SwingLabs kann man sich neue, auf Swing-basierende, moderne GUI-Komponenten und ein LookAndFeel für Java-Programme besorgen.
Es gibt auch eine Beschreibung, wie diese Komponenten in NetBeans integriert werden können.

SwingX wird aktuell nicht mehr weiterentwickelt, das Projekt wanderte nach java.net, wo die Resourcen immer noch zur Verfügung stehen.

SwingLabs :: Swing Component Extensions — Project Kenai

Wer nicht weiß, was SwingX so alles bietet, kann sich hier mal ein paar Demos anschauen.

Im Java Blog von Christian Ulllenboom, dem Autor von „Java ist auch eine Insel“, gibt es auch einen Artikel über SwingX: Inselraus: Die Zusatzkomponentenbibliothek SwingX | Java Blog

Update: Die letzte Version der SwingX-Bibliothek kann derzeit bei java2s.com heruntergeladen werden.

Jetzt werden einige denken: „Schön und gut, wo ist nun aber die Installationsanleitung?“
Die kommt jetzt. :slight_smile:

Im Schritt 2 des Tutorials von SwingLabs zum Einfügen von SwingX Components in die Component Palette von NetBeans fehlt die Beschreibung, wie nun aus dem heruntergeladenen Jar-Archiv die Componenten in den Palette Manager gelangen sollen.

Daher hier nun als Ergänzung die Beschreibung von einer der drei mir bekannten Vorgehensweisen.

Zunächst mal muss die SwingLabs Libary heruntergeladen werden. Lade dir also den aktuellen Milestone der Binary von SwingX herunter. Speichere die zip-Datei in einem Verzeichnis deiner Wahl auf deiner Festplatte und entpacke sie dort. Ich habe mir für diesen Zweck ein Verzeichnis eingerichtet, in welchem ich häufig benutzte Bibliotheken in entspr. Unterverzeichnissen sammle. Diese können dann nach Bedarf NetBeans bekannt gemacht werden. Im Ergebnis daraus wird NetBeans die benötigten Bibliotheken neben den eigenen entwickelten Klassen im dist-Verzeichnis als Projekt ausgeben.

Starte nun NetBeans, und öffne den Libary Manager unter Tools → Libary Manager.

Dann legst du einen Eintrag für eine neue Bibliothek an. Klicke dazu auf den Button New Libary….

Lege einen Namen (am besten SwingX) für deinen Eintrag fest und bestätige deine Eingabe mit OK.

Auf der rechten Seite des Fensters betätigst du nun den Tab mit der Aufschrift Classpath, so fern dieser noch nicht aktiv ist und den Button Add JAR/Folder… und navigierst mit dem JFileChooser zur SwingX-Bibliothek.

Der Pfad zur SwingX-Bibliothek erscheint nun in der Liste.
Nun stellst du noch die Java-Doc für die SwingX-Bibliothek zum Programmieren bereit. Dazu klickst du den Tab Javadoc und dort auf den Button Add ZIP/Folder….

Damit die Java-Doc von SwingX während der Programmierung gelesen werden können muss auf die Datei index-all.html verwiesen werden. Diese befindet sich im Verzeichnis …/swinglabs/docs/api, zu dem du mit Hilfe des JFileChoosers navigierst. Klicke nun auf den Button Add ZIP/Folder, um die Auswahl zu übernehmen.
Beende nun den Libary Manager mit Klick auf OK

Damit hast du nun den ersten Teil gemeistert. Diese Schrittfolge gilt im Übrigen analog für alle externen Bibliotheken, die in NetBeans verwendet werden sollen.

Jetzt müssen die GUI-Components noch in die Component Palette des GUI Builders, um sie komfortabel auswählen und benutzen zu können.
Dazu öffnest du den Palette Manager mit Klick auf Tools → Palette Manager → Swing/AWT Components

Zunächst musst du eine neue Kategorie anlegen, die sich später als Übersichtselement in der Components Palette des GUI-Builders darstellt.
Dazu klickst du im Palette Manager auf New Category….

Gib auch hier wieder einen Namen, der für sich selbst spricht.

Das Ergebnis der Operation sieht dann so aus:

Klicke dann auf den Button Add from Libary…, um die SwingX Komponenten in der Komponeten-Palette bereitzustellen.

In dem sich öffnenden Fenster wählst du die Bibliothek aus, die du nach Components durchsuchen möchtest und klickst danach auf den Button Next. Wenn du den Eintrag im Libary Manager auch SwingX genannt hast, sieht der Dialog so aus, wie dieser:

Jetzt müssen alle Components markiert werden ([Strg]+Mausklick), die in der Component Palette unter der neu angelegten Kategorie aufgelistet werden sollen. Das sind alle Components, die dem Package org.desktop.swingx angehören, deren Name mit JX beginnt und nicht auf BeanInfo endet.

Die Klasse JXMonthView zeigt einen Kalendar für ein ganzes Jahr an, wurde aber im Package org.desktop.swing.calendar deklariert. Diese Klasse kann ebenfalls mit in die Component Palette.
Wenn du alle gewünschten Components markiert hast, klickst du auf den Next-Button.

Abschließend wählst du noch die Kategorie aus, in welcher die markierten GUI-Komponenten zur späteren Auswahl aufgelistet werden sollen.

]

Es bleibt nur noch der Palette Manager zu schließen und die Arbeit mit dem Matisse GUI-Builder und den neu integrierten SwingX-Komponenten kann in gewohnter Weise beginnen. :slight_smile:

Die Component Palette sieht dann ungefähr so aus:

Die Vorgehensweise kann sich mit neuen SwingX-Versionen leicht ändern. Also: Augen aufhalten. :wink:

Einen Link ins Wiki, in dem das noch mal an hand einer MySQL-Bibliothek gezeigt wird, habe ich mal angehängt: NetBeans externe Bibliotheken bekannt machen