Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Java 6 Programmierhandbuch

Java 6 Programmierhandbuch

von: Dirk Frischalowski, Ulrike Böttcher

entwickler.press, 2007

ISBN: 9783939084129, 1136 Seiten

Format: PDF, OL

Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 46,70 EUR

Ersparnis: 8,20 EUR

  • Scriptprogrammierung für Solaris und Linux
    Oracle 10g
    Oracle 10g für den DBA
    C /C++ Referenz - Studienausgabe
    C++ echt einfach
    Echt coole Perl Skripte - Nützliche Perl-Skripte, die knifflige Probleme lösen
    Perl Kochbuch
    Solaris 9 Systemadministration in 21 Tagen
  • Programmieren mit Perl
    Einführung in Perl-Objekte, Referenzen & Module
    Das Java Premium-Codebook

     

     

     

     

     

     

 

Mehr zum Inhalt

Java 6 Programmierhandbuch


 

Swing (S. 605)

Grafische Oberflächen entwickeln zu können war von Anfang an eines der Ziele, welches die Entwickler mit Java verfolgten. Mit der ersten Java-Version 1.0 wurde das AWT ausgeliefert, welches aber die Ansprüche der Programmierer nicht zufrieden stellte. In der Folgeversion des JDK 1.1 wurde das AWT gründlich überarbeitet. Es behielt aber immer noch die Nachteile, die sich daraus ergeben, dass das native GUI der Plattform bei der Komponentenerstellung verwendet wird, z.B. die eingeschränkte Plattformunabhängigkeit. Seit der JDK-Version 1.1 gibt es parallel zum AWT die Swing-Bibliothek. Swing war zunächst in den Java Foundation Classes (JFC) enthalten, seit der Version 1.3 gehört es zum JDK.

21.1 Grundlagen

Swing verfolgt bei der Komponentenerstellung eine andere Strategie als das AWT. Die Komponenten werden direkt auf den Bildschirm gezeichnet und deshalb auch als Lightweight- Komponenten (leichtgewichtig) bezeichnet. Damit ist es möglich, auf allen Plattformen identische Komponenten zu verwenden. Swing bietet eine wesentlich größere Auswahl und leistungsfähigere Komponenten. Dass damit ein erhöhter Speicherbedarf und Verzögerungen bei der Anzeige entstehen können, ist ein Nachteil, der durch die Geschwindigkeit und Speicherkapazität moderner Rechner und einer immer effektiveren Implementierung von Swing heutzutage kaum noch zum Tragen kommt. Ein weiterer großer Vorteil von Swing steckt in der MVC-Architektur (MVC – Model View Controller), nach der die Komponenten aufgebaut sind.

Die Klassen der Swing-Komponenten sind im Package javax.swing und deren Unterpackages enthalten. Die Namen der Klassen beginnen meist mit einem »J«, um sie von den sonst gleichnamigen AWT-Klassen zu unterscheiden. Für die Ereignisbehandlung und die Benutzung der LayoutManager müssen zusätzlich die Packages java.awt und java.awt.event eingebunden werden. Wird Swing zur Erstellung von Applets verwendet, muss das Java Plug-In eingesetzt werden, um das Applet im Browser anzuzeigen.

Hinweis
Ein Grundsatz bei der Erzeugung von grafischen Oberflächen mit Java ist, dass Swing-Komponenten und AWT-Komponenten nicht miteinander vermischt werden sollten. Da bei der Erstellung der Komponenten verschiedene Techniken verwendet werden, kann es zu Überlagerungen von Komponenten und anderen unbeabsichtigten Effekten kommen.

21.2 Fensterklassen

Analog zu den Fensterklassen des AWT gibt es die Klassen JWindow, JFrame, JDialog und JApplet. Sie sind direkt von den entsprechenden AWT-Klassen abgeleitet und haben rein äußerlich den gleichen Aufbau.

Durch die Klasse JWindow werden rahmenlose Fenster generiert.

Ein Fenster der Klasse JFrame besitzt einen Rahmen und eine Titelleiste.

Die Klasse JDialog ist für die Erstellung von Dialogfenstern vorgesehen, die modal angezeigt werden können.

Applets mit Swing-Komponenten werden von der Klasse JApplet abgeleitet.

21.2.1 Aufbau von Swing-Fenstern
In Swing werden die Komponenten nicht wie im AWT direkt auf dem Fenster abgelegt, denn der Aufbau von Swing-Fenstern ist etwas komplexer. Jedes Swing-Fenster besitzt mehrere Panes (Scheiben), die über dem Fenster liegen. Jede Pane erfüllt spezielle Aufgaben.

Die RootPane liegt direkt auf dem Fenster und nimmt die anderen Panes auf.