IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Java - Einführung in Java-Swing



Einführung in Java-Swing

Eine kleine Einführung in die Konzepte von Java-Swing inklusive einem typischen "Hallo Welt"-Programm.


Autor: Patrick Bucher (paedubucher)
Datum: 05-11-2006, 11:42:11
Referenzen: Wikipedia, Java-Swing - das Einsteigerseminar (siehe Referenzen)
Schwierigkeit: Anfänger
Ansichten: 10709x
Rating: 8 (1x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Java Swing

Swing ist ein Framework zur Erstellung von plattformunabhängigen, grafischen Benutzeroberflächen, welches seit Version 1.2 von Java ein fester Bestandteil der Java Runtime Environment (JRE) ist. Obwohl Swing keine Weiterentwicklung von AWT darstellen soll, verwendet es für einige Aufgaben die Klassen von AWT (z.B. Layout-Manager).

Leichtgewichtige Komponenten

Swing verwendet im Gegensatz zu AWT leichtgewichtige Komponenten. Dies bedeutet, dass nicht die grafischen Komponenten des Betriebssystems verwendet werden, sowie es bei AWT und SWT der Fall ist, sondern dass Java sich selber um das Zeichnen der Benutzerschnittstellen kümmert. Der Vorteil liegt darin, dass bei Swing-Anwendungen alle Komponenten auf allen Betriebssystemen zur Verfügung stehen, auch wenn das Betriebssystem über keine passende native Komponente verfügt. Es stehen also auf allen Betriebssystemen dieselben Komponenten zur Auswahl.

Look and Feel

Das Aussehen und das Verhalten der Komponenten wird durch ein sog. "Look and Feel" (kurz: LaF) gesteuert. Standardmässig wird das "Ocean"-LaF verwendet (vor Java 5 das "Metal"-LaF). Dadurch sehen alle Komponenten auf allen Betriebssystemen identisch aus. Für manche mag dies ein Vorteil sein, für andere ein Nachteil. Darum hat Sun Microsystems für jedes Betriebssystem ein eigenes, natives LaF erstellt. Die Qualität dieser nativen LaFs hat sich seit den ersten Swing-Versionen stark verbessert. Ab Java 6 soll sich das Betriebsystem um das Rendering der Komponenten kümmern. Somit sollte der Anwender nicht mehr erkennen können, dass die Anwendung in Swing erstellt wurde. Für alle Plattformen stehen das Ocean- und das Motif-LaF zur Verfügung.

Ein Fenster erzeugen

Als Grundlage jeder Swing-Applikation steht ein Fenster, auf welchem Komponenten angeordnet werden können. Das Fenster erhält seine Funktionalität vom Betriebssystem, so sind Aufgaben wie das maximieren und minimieren nicht in Swing implementiert, sondern vom Betriebssystem "geerbt".

Die Klasse JFrame

In Java werden Fenster von der Klasse JFrame repräsentiert. Diese Klasse besitzt unter anderem folgende Konstruktoren:

  • JFrame() - leerer Konstruktor
  • JFrame(String title) - erwartet einen String, der als Titel für das Fenster dienen soll

Ein JFrame erzeugen

Der folgende Programmcode erzeugt ein Fenster mit dem Titel "Hallo Swing!":

(01)
(02)
(03)
(04)
(05)
(06)
(07)
(08)
(09)
(10)
(11)
(12)
(13)
(14)
package main;

import javax.swing.JFrame;

public class Main
{
  public static void main(String[] args)
  {
    JFrame frame = new JFrame("Hallo Swing!");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(250, 100);
    frame.setVisible(true);
  }
}

Auf Zeile (3) wird die Klasse JFrame aus dem Package javax.swing importiert.

Auf Zeile (9) wird eine neue Instanz der Klasse JFrame erzeugt. Es wird ein String "Hallo Swing!" übergeben, das Fenster soll also die entsprechende Überschrift erhalten.

Damit beim Schliessen des Fensters die ganze Applikation beendet wird, wird auf Zeile (10) die Methode setDefaultCloseOperation() aufgerufen, es wird die Konstante EXIT_ON_CLOSE übergeben, welche Bestandteil der Klasse JFrame ist (statische, öffentliche Eigenschaft).

Die Grösse wird auf der Zeile (11) mithilfe der Methode setSize() gesetzt. Als erstes übergibt man die gewünschte Breite in Pixel, als zweiten Parameter die gewünschte Höhe des Fensters in Pixel. Unser Fenster soll 250 mal 100 Pixel betragen. Damit unser Fenster auch wirklich angezeigt wird, müssen wir (Zeile (12)) die setVisible()-Methode aufrufen und true übergeben. Übergibt man false, so wird das Fenster unsichtbar gemacht bzw. es bleibt unsichtbar. Führt man nun die Applikation aus, so sollte ein Fenster wie in der folgenden Abbildung erscheinen:


Referenzen

  • Wikipedia
  • Java-Swing, das Einsteigerseminar
    • Autor: Ralf Jesse
    • bhv-Verlag
    • ISBN: 3-8266-7224-0


paedubucher
Professonial
Beitrag vom:
06-11-2006, 22:55:14

Und drin ist der Screenshot!

Besten Dank fürs Nachbearbeiten!

Es handelt sich dabei um einen Screenshot von Ubuntu 6.10 "Dapper Drake", um noch etwas unterschwellige Schleichwerbung zu machen. ;-)

-----------------------------------------------------


paedubucher
Professonial
Beitrag vom:
05-11-2006, 14:35:07

Die Grafik fehlt

Der Screenshot sollte eigentlich nach http://www.it-academy.cc/images/temp/paedubucher/halloswing.png hochgeladen worden sein, dies scheint jedoch nicht der Fall zu sein. Der Grafik-Upload scheint zwar funktioniert zu haben, in der Vorschau war es auch noch prima.

-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04506
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06243
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1142
Comments: 0