< Wstecz | Dalej >

Lekcja 1.2: Dodanie tabeli pracowników i określenie jej układu

W tej lekcji użytkownik posłuży się wizualnym edytorem Java, aby dodać do aplikacji obiekty JScrollPane i JTable. W dalszych ćwiczeniach użytkownik zaprogramuje obiekt JTable do pobierania danych z usługi Web Service, która zwraca listę wszystkich pracowników w katalogu firmy.

Po dodaniu obiektu JTable użytkownik użyje widoku projektowania w edytorze wizualnym Java do dostosowania układu obiektu JTable, aby zapewnić zgodność z następującymi specyfikacjami:

  • Rozciągnięcie obiektu JTable na trzy komórki w poziomie i dwie komórki w pionie
  • Dodanie z lewej strony odstępu o szerokości 15 piksli
  • Zmiana nazwy obiektu JTable na employeesTable.

Otwarcie pliku DirectoryApp.java w wizualnym edytorze Java

Aby otworzyć plik DirectoryApp.java w wizualnym edytorze Java:
  1. W widoku eksploratora pakietów perspektywy Java rozwiń projekt MyDirectory oraz pakiet directory.client.
  2. Kliknij prawym przyciskiem myszy plik DirectoryApp.java i wybierz opcję Otwórz za pomocą > Edytor graficzny. Wizualny edytor Java załaduje klasę Java i wyświetli projekt w obszarze kanwy graficznej.
Wskazówka:
  • Aby zmienić wygląd i zachowanie używane przez wizualny edytor Java, wybierz opcję Okno > Preferencje > Java > Edytor graficzny, a następnie określ wygląd i zachowanie Swing. Ustawione preferencje zostaną aktywowane przy następnym otwarciu klasy. W tym kursie jest używany wygląd i zachowanie systemu Windows.
  • Aby ustawić edytor wizualny jako domyślny edytor wszystkich plików Java, kliknij opcję Okno > Preferencje i przejdź do strony Środowisko robocze > Powiązania plików, aby zdefiniować własne preferencje.

Dodanie obiektu JTable do obiektu JScrollPane

Główne okno w pliku DirectoryApp.java używa obiektu JFrame z obiektem JPanel jako głównego panelu zawartości. Obiekt JPanel w tej aplikacji nosi nazwę jContentPane. Obiekt jContentPane został ustawiony do korzystania z typu menedżera układu o nazwie GridBagLayout. Typ GridBagLayout jest wszechstronnym schematem układu opartym na siatce komórek, które mogą być zajmowane przez elementy wizualne. Wizualny edytor Java ułatwia pracę z typem GridBagLayout, wyświetlając ramki siatki. Wyświetla on również znaczniki rozmieszczenia podczas upuszczania nowych komponentów na siatkę oraz wyświetla uchwyty komponentów, których wielkość jest zmieniana lub które są przenoszone na siatce GridBagLayout.

Aby dodać tabelę pracowników (javax.swing.JTable) do interfejsu użytkownika w pliku DirectoryApp.java:
  1. Kliknij prawym przyciskiem myszy obiekt jContentPane w widoku projektu lub widoku komponentów bean Java i wybierz opcję Wyświetl siatkę. Czerwona kropkowana linia oznacza granicę siatki, a niebieskie kółka z numerami wskazują numery wierszy i kolumn. Łatwo na przykład zauważyć, że przycisk Nowy zajmuje komórkę w wierszu 1 (współrzędna y siatki) i kolumnie 3 (współrzędna x siatki).

    Siatka na kanwie graficznej

  2. Z palety wizualnego edytora Java wybierz komponent Swing JTable on JScrollPane Ikona JTable on JScrollPane, który znajduje się w szufladzie Komponenty Swing palety.
    Wskazówka: Domyślnie paleta jest zwinięta z prawej strony obszaru projektowania. Paletę można przenosić, a także zmieniać jej wielkość.
  3. Ustaw wskaźnik myszy nad komórką siatki w kolumnie 0 i wierszu 1:

    Miejsce upuszczania na siatce

    • W miarę przesuwania wskaźnika myszy nad siatką wskazuje on dwa numerowane kwadraty określające współrzędne x i y siatki zależne od położenia wskaźnika.
    • W przypadku ustawienia wskaźnika myszy bezpośrednio na granicy siatki można utworzyć nowe wiersze i kolumny, co spowoduje zmianę numeracji istniejących już wierszy i kolumn. W takim przypadku żółte kwadraty przy wskaźniku myszy, żółte paski między siatkami i żółte etykiety kolumny i wiersza oznaczają taką sytuację i określają wpływ takiego umieszczenia elementu.
  4. Kliknij lewym przyciskiem myszy, aby upuścić obiekty JScrollPane i JTable w komórce w kolumnie 0 i wierszu 1:

    Tabela upuszczona na siatkę

Rozciąganie obiektów JScrollPane i JTable na kilka kolumn i wierszy siatki

Teraz należy rozciągnąć obiekt JScrollPane (i jego element potomny JTable), aby zajmował trzy kolumny i dwa wiersze, co ułatwi tworzenie odstępów i zmianę wielkości. Aby rozszerzyć tabelę na wiele kolumn i wierszy:
  1. Wybierz obiekt JScrollPane w obszarze projektowania lub w widoku komponentów bean Java (powinien nadal być jeszcze wybrany, ponieważ dopiero został dodany). Zwróć uwagę na małe zielone kwadraty z prawej strony i u dołu obiektu JScrollPane. Te uchwyt zmiany wielkości służą do przeciągnięcia obiektu JScrollPane tak, aby zajmował wiele kolumn i wierszy.
  2. Kliknij i przytrzymaj lewy przycisk myszy na zielonym uchwycie z prawej strony obiektu JScrollPane.
  3. Przeciągnij wskaźnik myszy w prawo do chwili, gdy współrzędne rozmieszczenia wskażą kolumnę 2 i wiersz 1. Również ciemnoszary cień będzie wskazywał komórki, które zostaną zajęte przez komponent po zwolnieniu przycisku myszy.

    Tabela rozciągnięta na trzy kolumny

  4. Zwolnij przycisk myszy. Obiekt JScrollPane zajmuje teraz trzy kolumny.
  5. Wykonaj analogiczną czynność, aby przeciągnąć dolny uchwyt obiektu JScrollPane aż osiągnie on wiersz 2:

    Tabela rozciągnięta na dwa wiersze

Dostosowywanie odstępów obiektu JScrollPane w ramach siatki GridBag

Kolejną funkcją menedżera GridBagLayout jest możliwość określenia różnych ograniczeń umożliwiających dalsze dostosowanie układu. Na przykład można określić następujące ograniczenia:
  • zakotwiczenie: Komponentowi można nadać orientację zakotwiczenia w ramach komórki, co wpływa na sposób przemieszczania komponentu w przypadku zmiany wielkości aplikacji przez użytkownika. Na przykład komponent może zostać zakotwiczony u góry z lewej strony, na środku z lewej strony, w centrum lub u dołu z prawej strony.
  • wypełnienie: Komponent może zajmować cały dostępny obszar w ramach komórki lub komórek zarówno w poziomie, w pionie, jak i w obu kierunkach.
  • odstępy: Komponent może mieć własne dopełnienie u góry, u dołu, z lewej i prawej strony w celu zapewnienia odstępu między nim a brzegiem siatki.

Aby dostosować zakotwiczenie, wypełnienie i odstępy obiektu JScrollPane:

  1. Kliknij prawym przyciskiem myszy obiekt JScrollPane w widoku projektu lub widoku komponentów bean Java i wybierz opcję Dostosuj układ.

    Menu podręczne obiektu jScrollPane

    Wskazówka: Okno dialogowe Dostosowanie układu może pozostawać otwarte podczas wybierania i zmieniania układu różnych komponentów. Okno Dostosowanie układu można otworzyć w dowolnej chwili, klikając przycisk Dostosuj układ na pasku menu:

    Ikona menu Dostosuj układ

  2. Na karcie Składnik w oknie dialogowym Dostosowanie układu sprawdź, czy jest naciśnięty przycisk zakotwiczenia w centrum.
  3. Upewnij się, że są naciśnięte oba przyciski wypełnienia poziomego i wypełnienia pionowego.
  4. Dodaj z lewej strony odstęp o wielkości 15 (piksli), aby zapewnić miejsce z lewej strony obiektu JScrollPane analogicznie do innych elementów wizualnych aplikacji.

    Okno dialogowe Dostosowanie układu

    Tabela jest teraz wyrównana na przykład z etykietą Filtr.

    Okno dialogowe Dostosowanie układu

Zmienianie nazwy nowego obiektu JTable na odpowiednią wartość i ustawianie go na wybór pojedynczego wiersza

Ponieważ później tabela będzie jeszcze używana, warto zmienić nazwę instancji obiektu JTable i jego metody pobierającej. Aby zmienić nazwę tabeli:
  1. W widoku komponentów bean Java kliknij prawym przyciskiem myszy komponent jTable i z menu podręcznego wybierz opcję Zmień nazwę pola.

    Menu podręczne obiektu jTable

  2. Wpisz employeesTable i kliknij przycisk OK. Obiekt JTable ma teraz nazwę employeesTable, a metoda tworzenia jego instancji nosi nazwę getEmployeesTable.
  3. Ustaw tabelę tak, aby można było wybrać tylko jeden wiersz:
    1. Wybierz tabelę employeesTable w widoku projektowania.
    2. W widoku Właściwości wybierz właściwość selectionMode i ustaw jej wartość na SINGLE_SELECTION.

      Widok właściwości z wartością SINGLE_SELECTION dla obiektu JTable

    3. Zapisz plik DirectoryApp.java.

Punkt kontrolny lekcji

W tej lekcji użytkownik poznał sposób dodawania tabeli do istniejącego interfejsu użytkownika za pomocą edytora wizualnego. Następnie użytkownik dowiedział się, jak dostosować jej układ, położenie i odstępy.

< Wstecz | Dalej >