< Vorherige Lektion | Nächste Lektion >

Lerneinheit 1.2: Die Mitarbeitertabelle hinzufügen und anordnen

In dieser Lerneinheit verwenden Sie den Java Visual Editor, um ein 'JScrollPane' und eine 'JTable' zur Anwendung hinzuzufügen. In späteren Übungen programmieren Sie die JTable für den Abruf der Daten von einem Web-Service, der eine Liste aller Mitarbeiter im Unternehmensverzeichnis zurückgibt.

Nach dem Hinzufügen der JTable passen Sie das Layout der JTable in der Entwurfssicht des Java Visual Editor folgendermaßen an:

  • Ziehen Sie die JTable horizontal über drei Zellen und vertikal über zwei Zellen.
  • Fügen Sie links eine Einrückung von 15 Pixeln ein.
  • Benennen Sie die JTable in 'employeesTable' um.

Öffnen Sie die Datei 'DirectoryApp.java' im Java Visual Editor

Gehen Sie wie folgt vor, um die Datei DirectoryApp.java im Java Visual Editor zu öffnen:
  1. Erweitern Sie in der Sicht 'Paketexplorer' 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.
Tipp:
  • Wählen Sie zum Ändern der von Java Visual Editor verwendeten Darstellung und Funktionsweise Fenster > Benutzervorgaben > Java > Visual Editor aus, und geben Sie eine Swing-Darstellung und -Funktionsweise an. Die angegebene Benutzervorgabe wird beim nächsten Öffnen der Klasse wirksam. In diesem Lernprogramm wird die Windows-Darstellung und -Funktionsweise verwendet.
  • Wenn Sie den Visual Editor als Standardeditor für alle Java-Dateien verwenden möchten, können Sie auf Fenster > Benutzervorgaben klicken und zur Seite Workbench > Dateizuordnungen wechseln, um die gewünschte Benutzervorgabe zu definieren.

Eine JTable auf einem JScrollPane hinzufügen

Für das Hauptfenster von DirectoryApp.java wird ein JFrame mit einem JPanel als Hauptinhaltsteilfenster verwendet. Das JPanel in Ihrer Anwendung heißt jContentPane. Das jContentPane wurde für die Verwendung eines Typs von Layout-Manager mit dem Namen GridBagLayout definiert. Das GridBagLayout ist ein leistungsfähiges Layoutschema auf Basis eines Zellengitters, das von visuellen Komponenten belegt werden kann. Der Java Visual Editor erleichtert die Arbeit mit GridBagLayout durch die Anzeige der Gitterbegrenzungen. Darüber hinaus werden beim Ablegen neuer Komponenten im Gitter Positionsmarker angezeigt, und an Komponenten, deren Größe geändert wird oder die im GridBagLayout bewegt werden, werden Steuerungselemente angezeigt.

Gehen Sie wie folgt vor, um die Mitarbeitertabelle (eine javax.swing.JTable) der Benutzerschnittstelle DirectoryApp.java hinzuzufügen:
  1. Klicken Sie mit der rechten Maustaste auf das jContentPane in der Entwurfssicht oder in der Sicht 'Java-Beans', und wählen Sie Gitter anzeigen aus. Eine rot gepunktete Linie zeigt die Gitterbegrenzung an, und blaue Kreise mit Zahlen geben die Zeilen- und Spaltennummern an. Im Beispiel belegt die Schaltfläche Neu die Zelle in Zeile 1 (Gitter y) und Spalte 3 (Gitter x).

    Gitter im grafischen Erstellungsbereich

  2. Wählen Sie in der Palette des Java Visual Editor die Swing-Komponente JTable on JScrollPane Symbol für 'JTable on JScrollPane' aus, die dem Ablagefach Swing-Komponenten der Palette zugeordnet ist.
    Tipp: Standardmäßig ist die Palette auf der rechten Seite des Entwurfsbereichs ausgeblendet. Sie können die Größe der Palette ändern und sie versetzen.
  3. Bewegen Sie den Mauszeiger auf die Zelle im Gitter in Spalte 0, Zeile 1:

    Platzierung im Gitter übergeben

    • Beim Bewegen des Mauszeigers über dem Gitter werden zwei nummerierte Quadrate eingeblendet, die die x- und die y-Koordinate im Gitter basierend auf der Position des Mauszeigers angeben.
    • Wenn Sie den Mauszeiger direkt auf eine Gitterbegrenzung schieben, können neue Zeilen und Spalten erstellt werden. Vorhandene Zeilen und Spalten werden dann umnummeriert. In diesem Fall deuten gelbe Quadrate auf dem Mauszeiger, gelbe Balken zwischen den Gittern und gelbe Spalten- und Zeilenbeschriftungen auf dieses Verhalten hin und verdeutlichen die Auswirkung, die diese Platzierung haben wird.
  4. Klicken Sie mit der linken Maustaste, um das JScrollPane und die JTable an die Zelle bei Spalte 0 und Zeile 1 zu übergeben:

    An das Gitter übergebene Tabelle

JScrollPane und JTable über mehrere Spalten und Zeilen des Gitters ausdehnen

Nun müssen Sie das JScrollPane (und dessen untergeordnetes Element JTable) für ein besseres Abstands- und Größenänderungsverhalten über drei Spalten und zwei Zeilen ausdehnen. Gehen Sie wie folgt vor, um die Tabelle über die Spalten und Zeilen auszudehnen:
  1. Wählen Sie das JScrollPane im Entwurfsbereich oder in der Sicht 'Java-Beans' aus (es müsste noch ausgewählt sein, weil Sie es soeben hinzugefügt haben). Beachten Sie die kleinen grünen Quadrate auf der rechten und der unteren Seite des JScrollPane. Sie verwenden diese Größensteuerungselemente zum Ziehen des JScrollPane, damit es sich über mehrere Spalten und Zeilen ausdehnt.
  2. Drücken Sie die linke Maustaste auf dem grünen Steuerungselement auf der rechten Seite des JScrollPane und halten Sie sie gedrückt.
  3. Ziehen Sie den Mauszeiger nach rechts, bis die Position auf Spalte 2, Zeile 1 deutet. Eine dunkelgraue Schattierung markiert ebenfalls die Zellen, die beim Loslassen der Maustaste von der Komponente belegt werden.

    Tabelle über drei Spalten gezogen

  4. Lassen Sie die Maustaste los. Das JScrollPane erstreckt sich nun über drei Spalten.
  5. Wiederholen Sie den Prozess entsprechend, um das Steuerungselement auf der unteren Seite des JScrollPane zu ziehen, bis sich das JScrollPane in Zeile 2 ausdehnt:

    Tabelle über zwei Zeilen gezogen

Abstände des JScrollPane innerhalb des GridBag anpassen

Ein weitere Funktion des GridBagLayout-Managers ermöglicht das Angeben verschiedener Integritätsbedingungen, um das Layout weiter anzupassen. Sie können beispielsweise die folgenden Integritätsbedingungen angeben:
  • Anker: Einer Komponente kann eine Ankerausrichtung innerhalb ihrer Zelle zugeordnet werden. Diese Ausrichtung hat einen Einfluss darauf, wie die Komponente bewegt wird, wenn die Größe der Anwendung von einem Benutzer geändert wird. Der Anker einer Komponente kann beispielsweise oben links, in der Mitte links, im Mittelpunkt oder unten rechts gesetzt werden.
  • Füllung: Es kann festgelegt werden, dass eine Komponente den gesamten verfügbaren Platz innerhalb ihrer Zelle(n) entweder horizontal, vertikal oder in beiden Richtungen belegt.
  • Insets: Einer Komponente kann oben, unten, links und rechts eine eigene Auffüllung zugeordnet werden, um einen Abstand zwischen der Komponente und der Gitterkante einzuräumen.

Gehen Sie wie folgt vor, um Anker, Füllung und Insets für das JScrollPane anzupassen:

  1. Klicken Sie mit der rechten Maustaste auf das JScrollPane in der Entwurfssicht oder der Sicht 'Java-Beans', und wählen Sie Layout anpassen aus.

    Popup-Menü für jScrollPane

    Tipp: Das Dialogfenster 'Layout anpassen' kann beim Auswählen und Ändern des Layouts für verschiedene Komponenten geöffnet bleiben. Sie können das Dialogfenster 'Layout anpassen' jederzeit öffnen, indem Sie auf die Schaltfläche 'Layout anpassen' in der Menüleiste klicken:


    Menüsymbol 'Layout anpassen'

  2. Stellen Sie auf der Registerkarte 'Komponente' des Dialogfensters 'Layout anpassen' sicher, dass die Schaltfläche 'Anker Mitte' ausgewählt ist.
  3. Stellen Sie sicher, dass die Schaltflächen Horizontal füllen und Vertikal füllen ausgewählt sind.
  4. Geben Sie ein linkes Inset von 15 (Pixel) ein, um den Abstand auf der linken Seite des JScrollPane den anderen visuellen Komponenten in der Anwendung anzugleichen.

    Dialogfenster 'Layout anpassen'

    Die Tabelle ist nun beispielsweise auf das Feld Filter ausgerichtet.

    Dialogfenster 'Layout anpassen'

Die neue JTable in einen sinnvollen Wert umbenennen und für das Auswählen einer einzelnen Zeile definieren

Da Sie später mit der Tabelle arbeiten werden, ist es sinnvoll, die JTable-Instanz und ihre Getter-Methode umzubenennen. Gehen Sie wie folgt vor, um die Tabelle umzubenennen:
  1. Klicken Sie in der Sicht 'Java-Beans' mit der rechten Maustaste auf die Komponente 'jTable', und wählen Sie im Popup-Menü den Menüpunkt Feld umbenennen aus.

    Popup-Menü für jTable

  2. Geben Sie employeesTable ein, und klicken Sie auf OK. Die JTable hat nun den Namen 'employeesTable', und die Methode für ihre Instanziierung heißt 'getEmployeesTable'.
  3. Richten Sie die Tabelle so ein, dass nur eine Zeile ausgewählt werden kann:
    1. Wählen Sie die employeesTable in der Entwurfssicht aus.
    2. Wählen Sie in der Eigenschaftensicht die Eigenschaft selectionMode aus, und setzen Sie sie auf SINGLE_SELECTION.

      Eigenschaftensicht mit der Auswahl SINGLE_SELECTION für JTable

    3. Speichern Sie die Datei DirectoryApp.java.

Prüfpunkt für die Lerneinheit

In dieser Lerneinheit haben Sie gelernt, wie der Visual Editor zum Hinzufügen einer Tabelle zu einer vorhandenen Benutzerschnittstelle verwendet wird. Anschließend haben Sie gelernt, das Layout, die Position und den Abstand anzupassen.

< Vorherige Lektion | Nächste Lektion >