Jak utworzyć tabelę „JTable” w Javie?

Artículo revisado y aprobado por nuestro equipo editorial, siguiendo los criterios de redacción y edición de YuBrain.


JTable to klasa używana w Javie do tworzenia interaktywnych tabel, które mogą być edytowane przez użytkowników dzięki komponentom Swing API tego języka programowania. Zasadniczo składa się z interfejsu graficznego, który umożliwia reprezentację danych w formie tabeli, umożliwiając przeglądanie i interakcję z danymi wyświetlanymi przez GUI na różne sposoby, w tym między innymi edycję zawartości tabel, modyfikację wymiary kolumn i wierszy, dowolnie porządkując różne kolumny.

Tworzenie prostego JTable

Ten przykład ma na celu zbudowanie prostej tabeli z następującymi informacjami:

Imię Nazwisko Seks Wiek
Adrianna Zatrzymywać się F dwadzieścia jeden
Juana kałamarnica M 40
rozalia bernardyn F 67
Juliana perez F 36
Izrael Gonzalez M 36

Ta tabela zostanie wyświetlona w oknie z paskiem przewijania. Używając JTable do prezentacji danych w formie tabelarycznej, musimy wziąć pod uwagę, że JTable jest tylko interfejsem graficznym i nie zawiera danych do prezentacji. Te dane muszą być zawarte w klasie modelu. Innymi słowy, aby nasza tabela mogła wyświetlać dowolne dane, musimy najpierw utworzyć instancję modelu danych, a następnie przekazać ten model do JTable za pomocą konstruktora.

Tworzenie ramki

Musimy wziąć pod uwagę, że JTable potrzebuje ramki, w której można ją wyświetlić, więc należy ją najpierw utworzyć i zawierać informacje, takie jak położenie i wymiary ramki, a także określić, czy ramka będzie wyświetlana, czy nie .

Ogólny kod do osiągnięcia tego celu byłby następujący:

klasa publiczna JTable_Use {

                Publiczny static void main(String[] args) {   

                JFrame myframe=new TableFrame() ;

                               myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;

                               myframe.setVisible(true) ;

                }

}

klasa TableFrame rozszerza JFrame {

                publiczne TableFrame() {

                               setTitle(„Dane użytkownika”);

                               setBounds(200,200,700,500) ;

                }

}

Powyższy kod tworzy widoczną ramkę umieszczoną na pozycji 200×200 io wymiarach 700×500 z tytułem User Data.

Teraz utworzymy tabelę, która będzie zawierała dane o użytkownikach. Dane te będą obejmować, na potrzeby tego przykładu, imię, nazwisko, płeć i wiek.

Istnieje wiele konstruktorów, których możemy użyć do dodania danych do tworzonej tabeli. Jeden z najprostszych konstruktorów pozwala przyjąć jako argumenty dwie tablice danych:

JTable(Object[] [] rowData, Object [] columnNames)

Jak widać, jest to prosty konstruktor dla JTable , który przyjmuje jako argument pierwszy parametr, który jest dwuwymiarową tablicą typu Object , w której zostaną uwzględnione dane odpowiadające każdemu wierszowi ( rowData ), oraz drugi parametr, który również jest to tablica ale z jednym wymiarem, również typu Object , w której będą zawarte nagłówki lub nazwy kolumn ( nazwakolumny ).

Krótko mówiąc, jeśli chcemy użyć tego konstruktora, musimy zadeklarować dwie tablice , jedną z dwoma wymiarami i jedną z jednym wymiarem. Robimy to wewnątrz klasy, która buduje platformę pokazaną powyżej.

Zaczniemy od zadeklarowania tablicy odpowiadającej nagłówkom kolumn. Ponieważ są tekstem, będą typu String . Poniżej zadeklarujemy dwuwymiarową tablicę odpowiadającą danym, które będą wyświetlane w każdym wierszu tabeli. Deklaracja tablicy wygląda następująco:

                private String [] columnheads={„Imię”, „Nazwisko”, „Płeć”, „Wiek”} ;

                prywatny String [] [] userData={

                               {„Adriana”, „Stop”, „F”, „21”},

                               {«John», «Calamaro», «M», «40»},

                               {«Rosalía», «Bernard», « F « , « 67 « },

                               {„Juliana”, „Perez”, „K”, „36”},

                               {„Izrael”, „Gonzalez”, „M”, „36”}

                };

W tym kodzie nazwaliśmy tablicę zawierającą nazwy kolumn „cabezadasColumnas” i „dataUsers” dwuwymiarową tablicą zawierającą dane pięciu użytkowników, które zostaną uwzględnione w tabeli.

Teraz, gdy mamy dane, które chcemy wyświetlić w JTable , przechodzimy do użycia konstruktora do przekazania tych danych do JTable . Robimy to w ramach, które stworzyliśmy wcześniej. Musimy nadać naszej tabeli nazwę, więc nazwijmy ją, na przykład, userTable:

JTable tablaUsuarios=new JTable(dataUsers, headersColumns) ;

Jak dodać paski przewijania i wyśrodkowanie

W tym momencie mamy już JTable , która pokazuje prostą tabelę z 4 kolumnami i 6 wierszami, która ma pierwszy wiersz z nagłówkami kolumn, a następnie 5 wierszy z danymi 5 użytkowników. Jednak ta tabela może nie pasować do ramki 700 x 500, którą utworzyliśmy na początku, lub jeśli pasuje teraz, możemy później dodać do niej dane o większej liczbie użytkowników i ostatecznie może się nie zmieścić. W takim przypadku przydatne jest dodanie pasków przewijania, aby zapewnić widoczność wszystkich informacji w tabeli.

Robimy to za pomocą JScrollPane . Dodatkowo wygodnie jest też określić położenie naszego stolika w ramach ramy. W tym celu używamy BorderLayout w następujący sposób:

add(new JScrollPane(userTable), BorderLayout.CENTER) ;

ostateczny kod

Po dodaniu wszystkich części do kodu powinien on wyglądać tak:

klasa publiczna JTable_Use {

                public static void main(String[] args) {   

                JFrame myframe=new TableFrame() ;

                               myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;

                               myframe.setVisible(true) ;

                }

}

klasa TableFrame rozszerza JFrame {

                publiczne TableFrame() {

                               setTitle(„Dane użytkownika”);

                               setBounds(200,200,500,500) ;

                               JTable tablaUsuarios=new JTable(dataUsers, headersColumns) ;

                               add(new JScrollPane(userTable), BorderLayout.CENTER) ;

                }

                private String [] columnheads={„Imię”, „Nazwisko”, „Płeć”, „Wiek”} ;

                prywatny String [] [] userData={

                               {„Adriana”, „Stop”, „F”, „21”},

                               {«John», «Calamaro», «M», «40»},

                               {«Rosalía», «Bernard», « F « , « 67 « },

                               {„Juliana”, „Perez”, „K”, „36”},

                               {„Izrael”, „Gonzalez”, „M”, „36”}

                };

}

Jak dodać inne funkcje?

Oprócz paska przewijania JTable umożliwia dodawanie nieskończonych funkcji dla różnych aplikacji. Możesz dodać możliwość uporządkowania wierszy przez użytkownika według własnych upodobań, możesz zmodyfikować wygląd tabeli, modyfikując kolory tła komórek, pokazując lub nie pokazując obramowania i tak dalej.

Bibliografia

Abellán, J. (2007a, 4 lutego). Przykładowy aplet TableModel dla JTable. Pobrane z http://www.chuidiang.org/java/tablas/tablamodelo/applettabla.php

Abellán, J. (2007b, 4 lutego). Przykład TableModel w JTable. Pobrane z http://www.chuidiang.org/java/tablas/tablamodelo/tablamodelo.php

Pigułki komputerowe [pildorasinformaticas]. (2017, 20 września). kurs Javy Załączniki III. JTabela I. Wideo 267 [Plik wideo]. Odzyskane z https://www.youtube.com/watch?v=yH_g6QGFqes

Sensei, J. (2011, 24 stycznia). Jak wybrać wiersz z Java JTable. Pobrano 13 września 2021 r. z http://jedicerocool.blogspot.com/2011/01/como-seleccionar-una-fila-de-un-jtable.html

-Reklama-

mm
Israel Parada (Licentiate,Professor ULA)
(Licenciado en Química) - AUTOR. Profesor universitario de Química. Divulgador científico.

Artículos relacionados