Zeigen

Bevor Sie anfangen, müssen Sie .

In dieser Übung fügen Sie mit Hilfe des Java Visual Editors ein JScrollPane und eine JTable zu der Anwendung hinzu. In späteren Übungen programmieren Sie die JTable für den Abruf ihrer Daten von einem Web-Service, der eine Liste mit allen im Unternehmensverzeichnis enthaltenen Mitarbeitern zurückgibt. Nach dem Hinzufügen der JTable passen Sie das Layout der JTable in der Sicht "Entwurf" des Java Visual Editors folgendermaßen an:

Datei DirectoryApp.java im Java Visual Editor öffnen

Führen Sie folgende Schritte aus, um die Datei DirectoryApp.java im Java Visual Editor zu öffnen:

  1. Erweitern Sie in der Sicht "Paket-Explorer" der Java-Perspektive das Projekt MyDirectory und das Paket directory.client.
  2. Klicken Sie mit der rechten Maustaste auf die Datei DirectoryApp.java und wählen Sie Öffnen mit > Visual Editor aus.Der Java Visual Editor lädt die Java-Klasse und zeigt den Entwurf im grafischen Erstellungsbereich an.

    Vorgaben:

JTable in einem JScrollPane hinzufügen:

Das Hauptfenster von DirectoryApp.java verwendet einen JFrame mit einem JPanel als wichtigstes Inhaltsteilfenster. Das JPanel in Ihrer Anwendung trägt die Bezeichnung jContentPane. Das jContentPane wurde auf die Verwendung eines Layoutmanagertyps mit der Bezeichnung GridBagLayout eingestellt. Das GridBagLayout ist ein leistungsfähiges Layoutkonzept auf der Grundlage eines Zellenrasters, das von visuellen Komponenten belegt werden kann. Der Java Visual Editor zeigt die Rasterbegrenzungen an und vereinfacht so die Arbeit mit dem GridBagLayout. Außerdem zeigt er beim Ablegen neuer Komponenten auf dem Raster Positionsmarkierungen sowie Griffe an Komponenten an, deren Größe oder Position Sie im GridBagLayout ändern.

Führen Sie folgende Schritte aus, um die Mitarbeitertabelle (eine javax.swing.JTable) zu der Benutzeroberfläche DirectoryApp.java hinzuzufügen:

  1. Klicken Sie in der Sicht "Entwurf" oder "JavaBeans" auf das JContentPane und wählen Sie Raster anzeigen aus. Eine rot gepunktete Linie zeigt die Rasterbegrenzung, blaue, nummerierte Kreise geben die Zeilen- und Spaltennummern an. Beachten Sie beispielsweise, dass sich die Schaltfläche Neu in der Zelle in Zeile 1 (y-Raster) und Spalte 3 (x-Raster) befindet.

    Raster in grafischem Erstellungsbereich

  2. Wählen Sie in der Palette des Java Visual Editors die Swing-Komponente JTable on JScrollPane aus, die im Fach Swing-Komponenten der Palette kategorisiert ist.

    Tipp: Standardmäßig ist die Palette auf der rechten Seite der Sicht "Entwurf" ausgeblendet. Sie können die Größe und Position der Palette jedoch ändern.

  3. Bewegen Sie den Mauszeiger auf die Zelle bei Spalte 0, Zeile 1 im Raster:

    Position auf Raster übergeben

  4. Klicken Sie mit der linken Maustaste, um das JScrollPane und die JTable in der Zelle bei Spalte 0 und Zeile 1 abzulegen:

    Auf Raster übergebene Tabelle

JScrollPane und JTable über mehrere Spalten und Zeilen des Rasters verteilen

Nun müssen Sie das JScrollPane (und die ihm untergeordnete JTable) so ändern, dass es sich über drei Spalten und zwei Zeilen erstreckt, um ein besseres Verhalten bei der Verteilung und Größenänderung zu erzielen. Führen Sie die folgenden Schritte aus, um die Tabelle über die angegebenen Spalten und Zeilen zu verteilen:

  1. Wählen Sie das JScrollPane in der Sicht "Entwurf" oder "JavaBeans" aus (es müsste noch ausgewählt sein, weil Sie es soeben hinzugefügt haben). Achten Sie auf die kleinen grünen Quadrate rechts und unten im JScrollPane. Mit Hilfe dieser Größensteuerungselemente können Sie das JScrollPane über mehrere Spalten und Zeilen ziehen.
  2. Klicken Sie rechts im JScrollPane mit der linken Maustaste auf den grünen Griff und halten Sie die Maustaste gedrückt.
  3. Ziehen Sie den Mauszeiger nach rechts, bis die Cursorposition Spalte 2, Zeile 1 anzeigt. Ein dunkelgrauer Schatten zeigt auch die Zellen an, die die Komponente beim Loslassen der Maustaste belegt.

    Über drei Spalten gezogene Tabelle

  4. Lassen Sie die Maustaste los. Das JScrollPane erstreckt sich nun über drei Spalten.
  5. Ziehen Sie den unteren Griff des JScrollPane auf ähnliche Weise, bis es sich auf Zeile 2 erstreckt:

    Über zwei Zeilen gezogene Tabelle

Verteilung des JScrollPane innerhalb des GridBag anpassen

Mit Hilfe einer anderen Funktion des GridBagLayout-Managers können Sie bestimmte Einschränkungen angeben, um das Layout weiter anzupassen. Sie können beispielsweise die folgenden Einschränkungen angeben:

Führen Sie folgende Schritte aus, um Werte für Anker, Füllung und Einrückung für das JScrollPane anzupassen:

  1. Klicken Sie in der Sicht "Entwurf" oder "JavaBeans" auf das JScrollPane und wählen Sie Layout anpassen aus.

    Popup-Menü auf jScrollPane

    Tipp: Das Dialogfenster "Layout anpassen" kann beim Auswählen und Ändern des Layouts verschiedener Komponenten geöffnet bleiben. Sie können das Dialogfenster "Layout anpassen" durch Klicken auf die Schaltfläche "Layout anpassen" in der Menüleiste jederzeit öffnen:

  2. Stellen Sie auf der Registerkarte Komponente des Dialogfensters Layout anpassen sicher, dass die Schaltfläche Ankermitte gedrückt ist.
  3. Stellen Sie sicher, dass die Schaltflächen Horizontal füllen und Vertikal füllen gedrückt sind.
  4. Fügen Sie links eine Einrückung von 15 (Pixel) hinzu, um den Abstand links vom JScrollPane an die anderen visuellen Komponenten der Anwendung anzugleichen.

    Layout-Dialogfenster anpassen

    Die Tabelle ist nun beispielsweise auf die Bezeichnung "Filter" ausgerichtet.

    In grafischem Erstellungsbereich ausgerichtete JTable

JTable in einen sinnvollen Namen umbenennen und auf die Auswahl einer einzigen Zeile einstellen

Da Sie später häufig mit der Tabelle arbeiten werden, empfiehlt es sich, die JTable-Instanz und ihre getter-Methode umzubenennen. Führen Sie folgende Schritte aus, um die Tabelle umzubenennen:

  1. Klicken Sie in der Sicht "JavaBeans" mit der rechten Maustaste auf die Komponente jTable und wählen Sie im Popup-Menü die Option Feld umbenennen aus.

    Kontextmenü auf jTable

  2. Geben Sie employeesTable ein und klicken Sie auf OK. Die JTable hat nun den Namen employeesTable und die Methode für ihre Instanzierung ist getEmployeesTable.

Legen Sie mit folgenden Schritten fest, dass nur eine einzige Zeile der Tabelle ausgewählt werden soll:

  1. Wählen Sie die Mitarbeitertabelle in der Sicht "Entwurf" aus.
  2. Wählen Sie in der Sicht "Eigenschaften" die Eigenschaft selectionMode aus und setzen Sie diese auf SINGLE_SELECTION.

    Eigenschaftensicht mit Anzeige von SINGLE_SELECTION auf JTable

  3. Speichern Sie die Datei DirectoryApp.java.

Nun sind Sie bereit für .

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2000, 2005. Alle Rechte vorbehalten.