Bei Swing handelt es sich um eine API zum Programmieren von grafischen Benutzeroberflächen. Swing wurde von Sun Microsystems für die Programmiersprache Java entwickelt. Seit Java-Version 1.2 (1998) ist es Bestandteil der Java-Runtime. Swing gehört zu den Java Foundation Classes (JFC), die eine Sammlung von Bibliotheken zur Programmierung von grafischen Benutzerschnittstellen bereitstellen. Zu diesen Bibliotheken gehören Java2D, die Accessibility-API, die Drag & Drop-API und das Abstract Window Toolkit (AWT). Swing baut auf dem älteren AWT auf und ist mit den anderen APIs verwoben.
Swing wurde erstmals mit dem JDK 1.1.5 als externe Bibliothek ausgeliefert und ist seit JDK 1.2 („Java 2“) fester Bestandteil der Java-Laufzeitumgebung. Swing hatte sehr bald den Ruf, eine schlechte Performance aufzuweisen und für „ernsthafte“ Anwendungen ungeeignet zu sein. Der Standard-Stil (Look&Feel) von Swing-Fenstern fand ebenfalls nicht besonders viele Freunde. Mittlerweile hat sich die Performance durch verbesserte Hardwareunterstützung der Beschleunigungsfunktionen von Grafikkarten und über Performance-Verbesserungen in den Klassenbibliotheken selbst und bei der Java Runtime deutlich verbessert.
Swing ist sehr flexibel, sehr „sauber“, modular und objektorientiert aufgebaut, so dass es sich gerade für die Entwicklung komplexer Anwendungen gut eignet. Durch die Plattformunabhängigkeit entfällt ebenfalls viel Entwicklungs- und Testarbeit. Gerade weil Swing sehr flexibel ist, kann es bei der Realisierung von eigenen Cutting-Edge-Komponenten zu einem Verlust der Plattformunabhängigkeit kommen, d. h. die Komponente passt dann nicht mehr zum eingestellten Look and Feel.
Hauptkonkurrent von Swing ist das für Eclipse entwickelte SWT.
Code für HelloWorldSwing:
import javax.swing.*;
public class HelloWorldSwing {
/**
* Erstellt die grafischen Komponenten und zeigt
* sie an.
*/
private static void createAndShowGUI() {
//Erstellt das Fenster
JFrame frame = new JFrame("HalloWeltSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Fügt den "Hallo Welt"-Text hinzu
JLabel label = new JLabel("Hallo Welt");
frame.getContentPane().add(label);
//Zeigt das Fenster an
frame.pack();
frame.setVisible(true);
}
public static void main(String* args) {
Runnable runnable = new Runnable() {
public void run() {
createAndShowGUI();
}
};
SwingUtilities.invokeLater(runnable);
}
}
Um das LAF (Look-And-Feel) zu ändern, reichen die folgenden Zeilen aus:
try { // setzen des Look-And-Feel
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
// die Oberfläche wird mit dem neuen LAF angezeigt
SwingUtilities.updateComponentTreeUI(this);
}
catch (Exception e){
System.out.println("Das Metal-Look-And-Feel kann nicht geladen werden");
}
Swing (Java) | Swing (biblioteca gráfica) | Swing (Java) | Swing | Swing | Swing | Swing (Java) | Swing (api) | Swing (Java) | Swing
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Swing (Java)".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world