Moderne Bedienkonzepte unter Swing

Java-Toolkits erweitern Swing um plattformspezifische GUI-Objekte, die das Konzept des kleinsten gemeinsamen Nenners durchbrechen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 19 Min.
Von
  • Thomas Künneth
  • Christian Kirsch
Inhaltsverzeichnis

Microsoft und Apple versuchen immer wieder, die Bedienung ihrer Betriebssysteme und Anwendungen durch neue Komponenten zu vereinfachen. Die aus Office 2007 bekannten Ribbons oder die Seitenleisten des Finders und iTunes können Java-Entwickler auch in Swing-Anwendungen einsetzen.

Die ersten Java-Versionen stellten Entwicklern nur sehr wenige Bedienelemente für den Bau von Benutzeroberflächen zur Verfügung. Das Abstract Window Toolkit (AWT) verwendete hierzu Komponenten des Wirtssystems, damit sich Java-Programme wie ihre nativen Pendants verhielten. Allerdings konnte das AWT nur diejenigen Bedienelemente anbieten, die auf allen damals unterstützten Plattformen verfügbar waren. Zudem erschwerten konzeptionelle Unterschiede eine plattformübergreifende Abbildung, zumal der Funktionsumfang von Komponenten je nach Wirtssystem variierte. Es stellte sich schnell heraus, dass dieser kleinste gemeinsame Nenner nicht ausreichte, um ansprechende und anwenderfreundliche Benutzeroberflächen zu realisieren.

Mit dem zunächst als separaten Download erhältlichen, aber seit Java 1.2 zur Standardklassenbibliothek gehörenden Swing verfolgt Sun deshalb einen anderen Ansatz: Die Klassenbibliothek kontrolliert Aussehen und Verhalten von Bedienelementen vollständig. Somit stehen (aus Sicht des Entwicklers) alle Funktionen und Merkmale einer Komponente auf jeder Plattform zur Verfügung. Das Aussehen von Swing-Komponenten lässt sich durch so genannte Look and Feels beeinflussen. Eine Schaltfläche kann sich so präsentieren, wie ein Windows-, Mac- oder Linux-Anwender es erwarten würde; zumindest theoretisch, denn die Praxis zeigt leider, dass Swing die jeweiligen Originale keineswegs immer optimal nachbildet. Manchmal stimmt der verwendete Zeichensatz nicht, ein andermal werden Farben oder Verläufe nicht richtig umgesetzt. Einige Projekte versuchen deshalb, diese Defizite auszugleichen. Das auf java.net gehostete WinLAF beispielsweise korrigiert zahlreiche Defekte von Suns Implementierung des Windows Look and Feel. Die Projekthomepage gibt einen Überblick über die behobenen Mängel.