Bereits kurze Zeit nachdem mit dem JDK 1.0 das Abstract Windowing Toolkit eingeführt wurde, begannen die Entwickler bei SUN, über Möglichkeiten nachzudenken, die graphische Oberfläche von Java-Anwendungen zu verbessern. Als nachteilig sahen sie vor allem folgende Eigenschaften des AWT an:
Da alle Fenster- und Dialogelemente von dem darunterliegenden Betriebssystem zur Verfügung gestellt wurden, war es sehr schwierig, plattformübergreifend ein einheitliches Look-and-Feel zu realisieren. Die Eigenarten jedes einzelnen Fenstersystems waren für den Anwender unmittelbar zu spüren.
Durch die Abhängigkeit von den betriebssystemspezifischen Komponenten erwuchsen den JDK-Entwicklern erhebliche Portierungsprobleme. Dadurch mußte teilweise viel Aufwand getrieben werden, um das Verhalten der Komponenten auf den unterschiedlichen Plattformen in hinreichendem Maße anzugleichen.
Zudem gibt es im AWT nur eine Grundmenge an Dialogelementen, mit denen sich aufwendige grafische Benutzeroberflächen nicht oder nur mit sehr viel Zusatzaufwand realisieren ließen.
Erklärtes Ziel der JDK-Entwickler war es, diese Nachteile zu beseitigen und mit der Entwicklung der Java Foundation Classes (deren wichtigster Bestandteil die als Swing bezeichnete Sammlung grafischer Dialogelemente werden sollte) eine echte Alternative zum AWT zu schaffen.
(Hanbuch der Java Programmierung - Guido Krüger s.777ff.)
Nutzen Sie die Vorteile der neuen konfortabelen Grafikprogrammierung mit dem SWING Package. Erlenen Sie innerhalb der Schulung Java3 den Umgang mit den neuen Komponenten nutzen Sie die Vorteile von Look-and-Feel, die es Ihnen ermöglicht sowohl aussehen als auch die Bedienung zur Laufzeit zu ändern.....
Im Gegensatz zum AWT benutzen Swing-Komponenten nur noch in sehr eingeschränkter Weise plattformspezifische GUI-Ressourcen. Abgesehen von Top-Level-Fenstern, Dialogen und grafischen Primitivoperationen werden alle GUI-Elemente von Swing selbst erzeugt. Ein Swing-Button unter Windows wird nicht mehr vom Windows-UI-Manager dargestellt, sondern von Swing selbst gezeichnet.
Diese Vorgehensweise bietet einige Vorteile:
Erstens fallen die plattformspezifischen Besonderheiten weg, und der Code zur Implementierung der Dialogelemente vereinfacht sich deutlich.
Zweitens entfallen auch die Unterschiede in der Bedienung. Der Anwender findet auf allen Betriebssystemen dasselbe Aussehen und dieselbe Bedienung vor.
Drittens ist Swing nicht mehr darauf angewiesen, Features auf der Basis des kleinsten gemeinsamen Nenners aller unterstützten Plattformen zu realisieren. Komplexe Dialogelemente wie Bäume, Tabellen oder Registerkarten können plattformunabhängig realisiert werden und stehen nach der Implementierung ohne Portierungsaufwand auf allen Systemen zur Verfügung. Tatsächlich stellt Swing eine sehr viel umfassendere und anspruchsvollere Menge an Dialogelementen als das AWT zur Verfügung.
Der Grundstein für Komponenten, die von Java selbst erzeugt und dargestellt werden können, wurde im JDK 1.1 mit der Einführung der Lightweight Components (»leichtgewichtige« Komponenten) gelegt. Dabei wird die paint-Methode eines Component-Objects nicht mehr an die betriebssystemspezifische Klasse weitergeleitet, sondern in den Komponentenklassen überlagert und mit Hilfe grafischer Primitivoperationen selbst implementiert. Die im AWT vorhandenen Dialogelemente werden im Gegensatz dazu als Heavyweight Components bezeichnet (»schwergewichtige« Komponenten).
Mit Hilfe der leichtgewichtigen Komponenten, die für alle Aspekte der Darstellung selbst verantwortlich sind, konnten einige interessante Features realisiert werden. So können beispielsweise zu allen Komponenten Tooltips erzeugt werden (also kleine Hilfetexte, die über der Komponente beim Verweilen mit der Maus angezeigt werden), ohne daß dazu Unterstützung seitens des zugrunde liegenden Grafikbetriebssystems erforderlich wäre.
Eine andere Eigenschaft, die nur mit Hilfe leichtgewichtiger Komponenten realisiert werden konnte, wird als Debug-Grafik bezeichnet. Dabei wird der Darstellungsvorgang beim Zeichnen der Komponente künstlich so verlangsamt, daß er wie in einer Zeitlupeneinstellung Schritt für Schritt verfolgt werden kann. Das ist insbesondere während der Entwicklung eigener Komponenten nützlich, um den Bildaufbau studieren und auf Fehler hin untersuchen zu können.
Neben den äußerlichen Qualitäten wurde auch die Architektur des Gesamtsystems verbessert. Wichtigste "Errungenschaft" ist dabei das Model-View-Controller-Prinzip (kurz MVC genannt), dessen Struktur sich wie ein roter Faden durch den Aufbau der Dialogelemente zieht. Anstatt den gesamten Code in eine einzelne Klasse zu packen, werden beim MVC-Konzept drei unterschiedliche Bestandteile eines grafischen Elements sorgsam unterschieden:
Das Modell enthält die Daten des Dialogelements und speichert seinen Zustand.
Der View ist für die grafische Darstellung der Komponente verantwortlich.
Der Controller wirkt als Verbindungsglied zwischen beiden. Er empfängt Tastatur- und Mausereignisse und stößt die erforderlichen Maßnahmen zur ßnderung von Model und View an.
Das Modell enthält praktisch die gesamte Verarbeitungslogik der Komponente. Ein wichtiger Aspekt ist dabei, dass ein Model mehrere Views gleichzeitig haben kann. Damit Veränderungen des Modells in allen Views sichtbar werden, wird ein Benachrichtigungsmechanismus implementiert, mit dem das Modell die zugeordneten Views über ßnderungen informiert. Diese Vorgehensweise entspricht dem Observer-Pattern, wie es in Abschnitt 10.3.9 erläutert wurde.
Bei den Swing-Dialogelementen wird eine vereinfachte Variante von MVC verwendet, die auch als Model-Delegate-Prinzip bezeichnet wird. Hierbei wird die Funktionalität von View und Controller in einem UI Delegate zusammengefaßt. Dadurch wird einerseits die Komplexität reduziert (oft ist der Controller so einfach strukturiert, daß es sich nicht lohnt, ihn separat zu betrachten) und andererseits die in der Praxis mitunter unhandliche Trennung zwischen View und Controller aufgehoben. Es kann allerdings sein, daß ein Dialogelement mehr als ein Model besitzt. So haben beispielsweise Listen und Tabellen neben ihrem eigentlichen Datenmodell ein weiteres, das nur für die Selektion von Datenelementen zuständig ist.
(Hanbuch der Java Programmierung - Guido Krüger s.777ff.)
Logisches Verständnis und Abstraktionsvermögen
Grundlagen Programmierung in Java(Java I Modul 053)
Kenntnisse AWT - Grafikprogrammierung wären von Vorteil
Webentwickler
Softwareentwickler
IT-Berufe (speziell Auszubildende)
Datenbankentwickler
Administratoren
Informatik Studenten
Der Teilnehmer soll am Ende dieses Moduls das SWING-Package kennen, an Ihn gestellte Anforderungen in der Grafikprogrammierung selbständig lösen und durch die Erfahrungen im Praxisteil sich selbständig mit Hilfe der eingesetzten Entwicklungsumgebung und der Java API weitere Java-Packages erarbeiten können.
Inhalt der Weiterbildung:Einführung
Pakete,Basisklassen
Fensterklassen in Swing
JFrame
JWindow
Weitere Swing Container
Tooltips
Bildschirmdarstellung
Debug, Grafik
Doppeltepufferung
Dialogelemente I
Standarddialogelemente und Ihre Ereignisverarbeitung
Dialogelemente II
JSlider
JProgressBar
JScrollPane
JSplitPane
JTabbedPane
JTree
Erzeugen eines Baumes
Selektieren von Knoten
Abfragen und ändern von Knoten
Verändern der Baumstruktur
JTable
Implementierung und Konfiguration von Tabellen
Selektieren von Tabellen
Tabellen, Spaltenmodell
Rendering
Reaktion auf Ereignisse
Projekt innerhalb des Moduls
Entwicklung einer Swing-Applikation mit Desktopmanagement
Montag bis Donnerstag:
08:00 Uhr bis 15:00 Uhr
Freitag:
08:00 Uhr bis 13:30
Sie erhalten ein Zertifikat mit den belegten Modulen deren Inhalten und den erreichten Ergebnissen bewertet nach dem IHK Bewertungsschlüssel
Personal / Referenten:Unterricht ausschließlich durch freigegebenes Personal
Betreuungsschlüssel 1 zu 16 wird eingehalten
Hauseigene Arbeitsvermittlung
Unterstützung bei Bewerbungen
Großzügig eingerichteter Arbeitsplatz gemäß Betriebsstättenverordnung sowie den jeweiligen Auflagen der Bundesagentur für Arbeit.
Drucker-, Internetanschluss vorhanden.
Pausenräume Raucher/Nichtraucher.
PC mit Intel Quadcore mindestens 2 GB RAM Dualmonitor
Betriebssystem Windows XP / Vista (auf Wunsch Linux)
Lernmittelbibliothek mit den Standardwerken zu Java
Hauseigene Unterlagen
Lernvideos
Hauseigener Übungspool
Der didaktische Ansatz hierbei entspringt der konzeptionelle Grundidee der Arbeitsprozessorientierten Weiterbildung als eine enge Verbindung von Lernen und Arbeiten. Das Lernen in und an realen Arbeitsaufgaben wird gefördert und systematisiert. Es sollen autodidaktische Ansätze gefördert werden und der Teilnehmer an die Grundidee des Lebensbegleitenden Lernen herangeführt werden. Dies geschieht einerseits im Rahmen eines herkömmlichen Frontalunterrichts andererseits ist auch ein Lernen in unserem modularen Bildungszentrum möglich.
Saarland | Saarbrücken
Baden-Württemberg | Stuttgart
Rheinland-Pfalz | Kaiserlautern
Weitere Standorte auf Anfrage.
Eine Förderung / Kostenübernahme durch folgende Träger ist nach Prüfung der persönlichen Fördervoraussetzungen für Abrbeitsuchende, Mitarbeiter von Unternehmen sowie Einzelpersonen möglich:
Vollzeit: 15 Tage
Teilzeit: 24 Tage
Berufsbegleitend: In Absprache
Profitieren Sie als Arbeitgeber / Unternehmen von Förderprogrammen und Zuschüssen!
Zauberwort: Lernziel Produktivität, WeGebAU » oder Kurzarbeit ...
Vereinbaren Sie noch heute ein
persönliches Beratungsgespräch und
lassen sich unverbindlich von einem
unserer qualifizierten Bildungsmanager
beraten oder ein Angebot unterbreiten.
Wir helfen Ihnen, ihre Potentiale zu entdecken
und zu fördern!