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:
- Bereich der JTable horizontal über drei Zellen und vertikal über zwei Zellen verteilen
- Linke Einrückung um 15 Pixel hinzufügen
- JTable in employeesTable (Mitarbeitertabelle) umbenennen
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:
- Erweitern Sie in der Sicht "Paket-Explorer" der Java-Perspektive das Projekt MyDirectory und das Paket directory.client.
- 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:
- Wählen Sie zum Ändern der vom Java Visual Editor verwendeten Darstellung und Funktionsweise Fenster
> Einstellungen > Java > Visual Editor aus und geben Sie eine Swing-Darstellung und -Funktionsweise an. Die Vorgaben werden beim nächsten Öffnen der Klasse wirksam. In diesem Lerntext wird die Windows-Darstellung und -Funktionsweise
verwendet.
- Wenn Sie den Java Visual Editor zum Standardeditor für alle Java-Dateien machen möchten, klicken Sie auf
Fenster > Einstellungen und legen Ihre Vorgabe auf der Seite Workbench
> Dateizuordnungen fest.
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:
- 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.

- 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.
- Bewegen Sie den Mauszeiger auf die Zelle bei Spalte 0, Zeile 1 im Raster:

- Beim Bewegen des Mauszeigers über das Raster zeigt der Zeiger zwei nummerierte Quadrate an,
in denen Sie die x- und y-Koordinaten der jeweiligen Zeigerposition im Raster ablesen können.
- Wenn Sie den Zeiger direkt auf eine Rasterbegrenzung bewegen, können neue Zeilen und Spalten erstellt
werden, wobei die vorhandenen Zeilen und Spalten umnummeriert werden. In einem solchen Fall zeigen gelbe Quadrate auf dem Mauszeiger, gelbe Balken zwischen den Rasterlinien und
gelbe Spalten- und Zeilenmarken dieses Verhalten und die Wirkung der Einfügung an.
- Klicken Sie mit der linken Maustaste, um das JScrollPane und die JTable in der Zelle bei
Spalte 0 und Zeile 1 abzulegen:

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:
- 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.
- Klicken Sie rechts im JScrollPane mit der linken Maustaste auf den grünen Griff und halten Sie die Maustaste gedrückt.
- 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.

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

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:
- Anker: Einer Komponente kann in einer Zelle eine Ankerausrichtung zugewiesen werden. Diese
Ankerausrichtung hat Auswirkungen auf das Bewegungsverhalten der Komponente, wenn ein Benutzer die Größe der
Anwendung ändert. Eine Komponente könnte beispielsweise links oben, links zentriert, zentriert oder rechts oben verankert werden.
- Füllung: Eine Komponente kann angewiesen werden, den gesamten verfügbaren Platz in ihrer Zelle bzw.
ihren Zellen horizontal und/oder vertikal zu belegen.
- Einrückung: Einer Komponente kann oben, unten, links und rechts ein eigener Puffer zugewiesen werden, um einen Abstand
zwischen der Komponente und dem Rand des Rasters zu erhalten.
Führen Sie folgende Schritte aus, um Werte für Anker, Füllung und Einrückung für das JScrollPane anzupassen:
- Klicken Sie in der Sicht "Entwurf" oder "JavaBeans" auf das JScrollPane und wählen Sie Layout anpassen aus.

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:

- Stellen Sie auf der Registerkarte Komponente des Dialogfensters Layout anpassen sicher, dass die
Schaltfläche Ankermitte gedrückt ist.
- Stellen Sie sicher, dass die Schaltflächen Horizontal füllen und Vertikal füllen gedrückt sind.
- 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.

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

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:
- 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.

- 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:
- Wählen Sie die Mitarbeitertabelle in der Sicht "Entwurf" aus.
- Wählen Sie in der Sicht "Eigenschaften" die Eigenschaft selectionMode aus und setzen Sie
diese auf SINGLE_SELECTION.

- Speichern Sie die Datei DirectoryApp.java.
Nun sind Sie bereit für .