Używanie tablic do przechowywania danych tabeli
Prosty sposób na dostarczenie danych dla
klasa ma użyć dwóch tablic. Pierwszy zawiera nazwy kolumn w
szyk:
Druga tablica to dwuwymiarowa tablica obiektów, która przechowuje dane dla tabeli. Tablica ta obejmuje na przykład sześciu olimpijskich pływaków:
Kluczem tutaj jest upewnienie się, że dwie tablice mają taką samą liczbę kolumn.
Konstruowanie JTable
Po wprowadzeniu danych utworzenie tabeli jest prostym zadaniem. Po prostu zadzwoń
JTablekonstruktor i przekaż mu dwie tablice: prawdopodobnie będziesz chciał dodać paski przewijania, aby użytkownik mógł zobaczyć wszystkie dane. Aby to zrobić, umieść.
JTablew
JScrollPane: Teraz, gdy tabela jest wyświetlana, zobaczysz kolumny i wiersze danych i będziesz mógł przewijać w górę i w dół.
Obiekt JTable zapewnia interaktywną tabelę. Jeśli klikniesz dwukrotnie dowolną komórkę, będziesz mógł edytować zawartość - chociaż każda edycja wpływa tylko na GUI, a nie na dane bazowe. (Na detektor zdarzeń należałoby zaimplementować obsługę danych.).
Aby zmienić szerokość kolumn, najedź myszką na krawędź nagłówka kolumny i przeciągnij ją w tę iz powrotem. Aby zmienić kolejność kolumn, kliknij i przytrzymaj nagłówek kolumny, a następnie przeciągnij go do nowej pozycji.
Sortowanie kolumn
Aby dodać możliwość sortowania wierszy, wywołaj
setAutoCreateRowSorterMetoda: Gdy ta metoda jest ustawiona na wartość true, możesz kliknąć nagłówek kolumny, aby posortować wiersze zgodnie z zawartością komórek w tej kolumnie.
Zmiana wyglądu tabeli
Aby kontrolować widoczność linii siatki, użyj
setShowGridMetoda: Aby całkowicie zmienić kolor tabeli, użyj.
setBackgroundi
setGridColormetody: szerokości kolumn tabeli są domyślnie równe. Jeśli pojemnik, w którym znajduje się stół, jest ponownie duży, wówczas szerokości kolumn rozszerzają się i kurczą, a pojemnik staje się większy lub mniejszy. Jeśli użytkownik zmieni rozmiar kolumny, szerokość kolumn po prawej stronie ulegnie zmianie, aby uwzględnić nowy rozmiar kolumny.
Początkowe szerokości kolumn można ustawić za pomocą metody setPreferredWidth lub kolumny. Użyj klasy TableColumn, aby najpierw uzyskać odwołanie do kolumny, a następnie metody setPreferredWidth, aby ustawić rozmiar:
Wybieranie wierszy
Domyślnie użytkownik może wybrać wiersze tabeli na jeden z trzech sposobów:
- Aby wybrać pojedynczy wiersz, wybierz komórkę tabeli w tym wierszu.
- Aby zaznaczyć ciągłe, wiele wierszy, przeciągnij myszą nad kilkoma wierszami lub wybierz komórki tabeli, naciskając komórkę shift.
- Aby wybrać nieciągłe, wiele wierszy, zaznacz komórki tabeli, przytrzymując Klawisz Control (klawisz polecenia dla komputerów Mac).
Korzystanie z modelu tabeli
Użycie kilku tablic dla danych tabeli może być przydatne, jeśli chcesz prosty Strunowyna podstawie tabeli, którą można edytować. Jeśli spojrzysz na tablicę danych, którą stworzyliśmy, zawiera ona inne typy danych niż
-
kolumna zawiera
i
kolumna zawiera
. Jednak obie te kolumny są wyświetlane jako ciągi. Aby zmienić to zachowanie, utwórz model tabeli.
Model tabeli zarządza danymi, które mają być wyświetlane w tabeli. Aby zaimplementować model tabeli, możesz utworzyć klasę rozszerzającą
klasa:
Sześć powyższych metod to metody stosowane w tym przewodniku krok po kroku, ale istnieje więcej metod zdefiniowanych przez
klasy, które są przydatne w manipulowaniu danymi w pliku
obiekt. Rozszerzając klasę na użycie
musisz wdrożyć tylko
,
i
metody
Utwórz nową klasę, wdrażając te pięć metod pokazanych powyżej:
W tym przykładzie ma to sens
klasa do przechowywania dwóch ciągów zawierających dane tabeli. A później
,
i
metody mogą korzystać z tablic, aby podać wartości dla tabeli. Zauważ też, jak
Metoda została napisana, aby uniemożliwić edytowanie pierwszych dwóch kolumn.
Teraz zamiast używać dwóch tablic do tworzenia
obiekt, możemy użyć
klasa:
Po uruchomieniu kodu zobaczysz, że
obiekt korzysta z modelu tabeli, ponieważ żadnej z komórek tabeli nie można edytować, a nazwy kolumn są poprawnie używane. Jeśli…
metoda nie została zaimplementowana, wówczas nazwy kolumn w tabeli byłyby wyświetlane jako domyślne nazwy A, B, C, D itp.
Rozważmy teraz metodę
. Samo to sprawia, że model tabeli jest warty wdrożenia, ponieważ zapewnia
obiekt o typie danych zawartym w każdej kolumnie. Jeśli pamiętasz, tablica danych obiektów ma dwie kolumny, które nie są
typy danych:
kolumna zawierająca liczby całkowite oraz
kolumna zawierająca
. Znajomość tych typów danych zmienia funkcjonalność zapewnianą przez
obiekt dla tych kolumn. Uruchomienie przykładowego kodu tabeli z zaimplementowanym modelem tabeli oznacza
kolumna będzie faktycznie serią pól wyboru.
Dodanie edytora ComboBox
Możesz zdefiniować niestandardowe edytory dla komórek w tabeli. Na przykład, możesz uczynić pole kombi alternatywą dla standardowej edycji tekstu dla pola.
Oto przykład użycia
pole kraju:
Aby ustawić domyślny edytor dla kolumny kraju, użyj
klasa, aby uzyskać odniesienie do kolumny kraju i
metoda ustawienia
jako edytor komórek: