JTreeTable - ein JTree in einer JTable

Eine GUI-Component, die man wie ich finde öfter mal braucht:

Irgendwann wurde der Code dafür mal unter Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle veröffentlicht, aber der Link ist inzwischen längst Geschichte. Über das web archive kommt man aber noch dran: https://web.archive.org/web/20120626135631/http://java.sun.com/products/jfc/tsc/articles/treetable2/index.html

Das ganze habe ich mal (ein klein wenig aufgeräumt und) auf https://github.com/javagl/JTreeTable gestellt und nach Maven hochgeladen, d.h. das liegt jetzt auch unter


<dependency>
  <groupId>de.javagl</groupId>
  <artifactId>treetable</artifactId>
  <version>0.0.1</version>
</dependency>

In SwingX, einer Erweiterungsbibliothek von SwingLabs, die mehrere neue, moderne GUI-Elemente und weitere Frameworks mitbrachte, gab es in SwingX auch eine JTree-fähige JTable.
Offenbar wird SwingX nicht mehr weiter entwickelt. den letzten Release gab es 2012 mit Version 1.6.4.
Ich glaube die SwingLabs-Leute waren zu Zeiten von Sun in einer speziellen Entwicklungsabteilung. Die Ergebnisse der Entwicklungen wurden damals auf einem Rechner gehostet, der permanent überlastet war. Die Downloads gingen teilweise nur mit wenigen kBytes.
Mit Übernahme durch Oracle wurde die Abteilung wohl geschlossen, das Projekt wanderte nach java.net. Aber die genaue Geschichte kenne ich nicht.

Hmja, bei SwingX waren einige interessante Sachen dabei - unter anderem besagte TreeTable: https://java.net/projects/swingx/sources/svn/show/trunk/swingx-core/src/main/java/org/jdesktop/swingx/treetable?rev=4316

Ich fand (finde) auch schade, dass das so in der Versenkung verschwunden ist. Einige haben einzelne Projekte (oder Teile davon) rausgezogen, und pflegen sie jetzt auf GitHub weiter. Aber etwas, was zu SwingLabs in diesem Sinne vergleichbar ist, gibt es nicht (warum auch: Die Zukunft gehört ja JavaFX :stumm: ). Dabei sind dabei schon einige interessante Sachen rausgekommen, die letztlich ihren Weg in die SE gefunden haben (siehe z.B. auch https://en.wikipedia.org/wiki/SwingLabs ).

Ich finde den Gedanken bzw. das Konzept gut, so einen “Brutkasten” zu haben, wo interessierte Leute etwas “freigeistig” coole Sachen entwickeln können, die dann, wenn sie die nötige Reife und Stabilität erreicht haben (und der entsprechende Bedarf besteht), in die Core-Library aufgenommen werden. Und die TreeTable wäre für sowas ein heißer Kandidat.

Die TreeTable-Version in SwingLabs ist (in mancher Hinsicht ähnlich, aber) noch etwas besser ausgebaut, als die Version aus dem Tutorial - auch mit zusätzlichen Editoren und einem Default Model usw. Bei der obigen ging es erstmal darum, überall schnell per Maven so eine Component einfügen kann, zumindest mit der “elementaren” Funktionalität.

Aber vielleicht ziehe ich irgendwann auch DIE Version aus SwingLabs raus. Das ganze SwingLabs mal auf GitHub zu clonen könnte aber auch nicht verkehrt sein. Vielleicht “wacht es ja wieder auf”…?