Utilizarea DefaultTableModel
în Java Swing


Unul dintre cele mai importante componente ale bibliotecii Java Swing este JTable
‚ care oferă o modalitate simplă și eficientă de a afișa date tabelare în interfețele grafice Java. JTable
este o componentă versatilă‚ care permite afișarea și manipularea datelor într-un mod intuitiv pentru utilizatori.
Introducere
În lumea dezvoltării software‚ vizualizarea datelor într-un mod clar și organizat este esențială pentru o experiență de utilizator optimă. Java Swing oferă o gamă largă de componente GUI‚ printre care se numără și JTable
‚ o componentă puternică pentru afișarea datelor tabelare. JTable
permite afișarea datelor într-un format structurat‚ cu coloane și rânduri‚ facilitând astfel navigarea și înțelegerea informațiilor. Pentru a utiliza JTable
în mod eficient‚ este necesar să înțelegem conceptul de model de date‚ care definește structura și conținutul datelor afișate în tabel. Un model de date comun utilizat cu JTable
este DefaultTableModel
‚ care oferă o modalitate simplă de a gestiona datele tabelare.
Acest articol se concentrează pe utilizarea DefaultTableModel
pentru a crea și manipula tabele în Java Swing. Vom explora pașii necesari pentru a crea un tabel‚ a adăuga date‚ a modifica datele existente‚ a șterge date și a implementa funcționalități de sortare și filtrare. De asemenea‚ vom analiza modul de personalizare a aspectului JTable
și de gestionare a evenimentelor asociate cu acesta.
Prin intermediul acestui tutorial‚ veți dobândi o înțelegere aprofundată a utilizării DefaultTableModel
în Java Swing‚ permițându-vă să creați aplicații cu interfețe grafice intuitive și eficiente pentru vizualizarea și manipularea datelor tabelare.
Contextul Java Swing
Java Swing este o bibliotecă GUI bogată și puternică‚ oferind o gamă largă de componente grafice pentru a construi interfețe de utilizator complexe și interactive. JTable
este o componentă esențială a Java Swing‚ care permite afișarea datelor într-un format tabelar‚ oferind o modalitate intuitivă și eficientă de a organiza și vizualiza informații. JTable
este o componentă versatilă‚ care poate fi utilizată pentru a afișa diverse tipuri de date‚ de la simple liste de valori numerice până la structuri de date complexe.
JTable
se bazează pe conceptul de model de date‚ care definește structura și conținutul datelor afișate în tabel. Modelul de date acționează ca un intermediar între JTable
și sursa de date‚ permițând actualizarea și manipularea datelor fără a afecta direct componenta JTable
. Există diverse tipuri de modele de date disponibile în Java Swing‚ dintre care DefaultTableModel
este unul dintre cele mai utilizate‚ oferind o modalitate simplă și flexibilă de a gestiona datele tabelare.
Utilizarea JTable
împreună cu DefaultTableModel
permite dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat‚ oferind o modalitate eficientă de a afișa și de a manipula datele tabelare. JTable
este o componentă esențială pentru aplicațiile care necesită vizualizarea și gestionarea datelor într-un format tabelar‚ de la aplicații de gestionare a bazei de date până la aplicații de analiză a datelor.
JTable⁚ O componentă esențială a Java Swing
JTable
este o componentă esențială a bibliotecii Java Swing‚ oferind o modalitate simplă și eficientă de a afișa date tabelare în interfețele grafice Java. JTable
este o componentă versatilă‚ care permite afișarea și manipularea datelor într-un mod intuitiv pentru utilizatori. JTable
poate fi utilizată pentru a afișa diverse tipuri de date‚ de la simple liste de valori numerice până la structuri de date complexe‚ oferind o modalitate flexibilă de a organiza și de a vizualiza informații.
JTable
se bazează pe conceptul de model de date‚ care definește structura și conținutul datelor afișate în tabel. Modelul de date acționează ca un intermediar între JTable
și sursa de date‚ permițând actualizarea și manipularea datelor fără a afecta direct componenta JTable
. Există diverse tipuri de modele de date disponibile în Java Swing‚ dintre care DefaultTableModel
este unul dintre cele mai utilizate‚ oferind o modalitate simplă și flexibilă de a gestiona datele tabelare.
Utilizarea JTable
împreună cu DefaultTableModel
permite dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat‚ oferind o modalitate eficientă de a afișa și de a manipula datele tabelare. JTable
este o componentă esențială pentru aplicațiile care necesită vizualizarea și gestionarea datelor într-un format tabelar‚ de la aplicații de gestionare a bazei de date până la aplicații de analiză a datelor.
Utilizarea JTable pentru vizualizarea datelor
JTable
este o componentă esențială a bibliotecii Java Swing‚ oferind o modalitate simplă și eficientă de a afișa date tabelare în interfețele grafice Java. JTable
este o componentă versatilă‚ care permite afișarea și manipularea datelor într-un mod intuitiv pentru utilizatori. JTable
poate fi utilizată pentru a afișa diverse tipuri de date‚ de la simple liste de valori numerice până la structuri de date complexe‚ oferind o modalitate flexibilă de a organiza și de a vizualiza informații.
JTable
se bazează pe conceptul de model de date‚ care definește structura și conținutul datelor afișate în tabel. Modelul de date acționează ca un intermediar între JTable
și sursa de date‚ permițând actualizarea și manipularea datelor fără a afecta direct componenta JTable
. Există diverse tipuri de modele de date disponibile în Java Swing‚ dintre care DefaultTableModel
este unul dintre cele mai utilizate‚ oferind o modalitate simplă și flexibilă de a gestiona datele tabelare.
Utilizarea JTable
împreună cu DefaultTableModel
permite dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat‚ oferind o modalitate eficientă de a afișa și de a manipula datele tabelare. JTable
este o componentă esențială pentru aplicațiile care necesită vizualizarea și gestionarea datelor într-un format tabelar‚ de la aplicații de gestionare a bazei de date până la aplicații de analiză a datelor.
Crearea unui Model de Date pentru JTable
Pentru a utiliza JTable
pentru a afișa date‚ este necesar să se creeze un model de date care să definească structura și conținutul datelor din tabel. Modelul de date acționează ca un intermediar între JTable
și sursa de date‚ permițând actualizarea și manipularea datelor fără a afecta direct componenta JTable
. DefaultTableModel
este un model de date simplu și flexibil‚ potrivit pentru multe scenarii de utilizare.
DefaultTableModel
permite definirea coloanelor tabelului prin specificarea numelor acestora. De asemenea‚ permite adăugarea‚ modificarea și ștergerea de rânduri de date din tabel. DefaultTableModel
gestionează automat actualizarea JTable
atunci când se modifică datele din model‚ asigurând o sincronizare constantă între datele din model și datele afișate în tabel.
Crearea unui DefaultTableModel
implică specificarea numelor coloanelor și a datelor inițiale‚ dacă există. Modelul de date poate fi apoi asociat cu JTable
‚ permițând afișarea datelor în tabel. DefaultTableModel
este o alegere populară pentru dezvoltatorii care au nevoie de o modalitate simplă și eficientă de a gestiona datele tabelare în aplicațiile lor Java Swing.
Utilizarea DefaultTableModel
simplifică procesul de creare și de gestionare a datelor tabelare‚ permițând dezvoltatorilor să se concentreze pe logica aplicației‚ în loc să se ocupe de detaliile complexe de gestionare a datelor tabelare. DefaultTableModel
este o componentă esențială pentru dezvoltatorii care doresc să creeze interfețe grafice interactive și ușor de utilizat‚ oferind o modalitate eficientă de a afișa și de a manipula datele tabelare.
Utilizarea DefaultTableModel
DefaultTableModel
este un model de date simplu și flexibil‚ oferind o modalitate ușoară de a gestiona datele tabelare în aplicațiile Java Swing. Pentru a utiliza DefaultTableModel
‚ este necesar să se creeze o instanță a clasei și să se specifice numele coloanelor din tabel. Odată ce modelul de date este creat‚ se pot adăuga‚ modifica și șterge rânduri de date‚ iar JTable
va reflecta automat aceste modificări.
DefaultTableModel
oferă o serie de metode utile pentru gestionarea datelor din tabel. Metoda addColumn(String columnName)
permite adăugarea de coloane noi în tabel‚ specificând numele coloanei. Metoda addRow(Object[] rowData)
permite adăugarea de rânduri noi în tabel‚ specificând datele din fiecare coloană a rândului. Metoda setValueAt(Object value‚ int row‚ int column)
permite modificarea valorii unei celule din tabel‚ specificând rândul‚ coloana și noua valoare.
DefaultTableModel
oferă‚ de asemenea‚ metode pentru a șterge rânduri din tabel. Metoda removeRow(int row)
permite ștergerea unui rând specificat de index. Metoda removeRows(int[] rows)
permite ștergerea mai multor rânduri‚ specificând un array de indexuri. Utilizarea DefaultTableModel
simplifică gestionarea datelor din tabel‚ permițând dezvoltatorilor să se concentreze pe logica aplicației‚ în loc să se ocupe de detaliile complexe de gestionare a datelor tabelare.
DefaultTableModel
este o alegere populară pentru dezvoltatorii care au nevoie de o modalitate simplă și eficientă de a gestiona datele tabelare în aplicațiile lor Java Swing. DefaultTableModel
oferă o modalitate flexibilă și ușor de utilizat de a afișa și de a manipula datele tabelare‚ permițând dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat.
Exemple de utilizare a DefaultTableModel
Pentru a ilustra utilizarea DefaultTableModel
‚ vom prezenta un exemplu practic. Să presupunem că dorim să creăm un tabel care afișează informații despre produse‚ incluzând numele produsului‚ prețul și stocul disponibil. În acest caz‚ vom crea un DefaultTableModel
cu trei coloane⁚ “Nume Produs”‚ “Preț” și “Stoc”. Pentru a adăuga date în tabel‚ vom utiliza metoda addRow(Object[] rowData)
‚ specificând un array cu datele pentru fiecare coloană a rândului. De exemplu‚ pentru a adăuga un rând cu informații despre produsul “Laptop”‚ cu prețul de 2000 de lei și un stoc de 10 unități‚ vom utiliza următorul cod⁚
DefaultTableModel model = new DefaultTableModel;
model.addColumn("Nume Produs");
model.addColumn("Preț");
model.addColumn("Stoc");
model.addRow(new Object[] { "Laptop"‚ 2000‚ 10 });
După adăugarea datelor‚ vom crea o instanță JTable
și vom seta modelul de date creat anterior. JTable
va afișa automat datele din modelul de date. Pentru a afișa tabelul în interfața grafică‚ vom adăuga JTable
într-un panou sau într-o fereastră. Acest exemplu demonstrează simplitatea și flexibilitatea DefaultTableModel
‚ permițând dezvoltatorilor să creeze rapid și ușor tabele cu date dinamice. DefaultTableModel
este o alegere excelentă pentru dezvoltatorii care au nevoie de o modalitate simplă și eficientă de a gestiona datele tabelare în aplicațiile lor Java Swing. DefaultTableModel
oferă o modalitate flexibilă și ușor de utilizat de a afișa și de a manipula datele tabelare‚ permițând dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat.
Adăugarea de date în tabel
Adăugarea de date într-un tabel JTable
se realizează prin intermediul modelului de date asociat‚ în cazul nostru DefaultTableModel
. DefaultTableModel
oferă o metodă simplă și intuitivă pentru adăugarea de rânduri noi. Metoda addRow(Object[] rowData)
acceptă un array de obiecte care reprezintă datele pentru fiecare coloană a rândului nou. De exemplu‚ pentru a adăuga un rând cu informații despre un nou produs‚ “Telefon”‚ cu prețul de 1500 de lei și un stoc de 20 de unități‚ vom utiliza următorul cod⁚
DefaultTableModel model = (DefaultTableModel) table.getModel;
model.addRow(new Object[] { "Telefon"‚ 1500‚ 20 });
În acest cod‚ presupunem că table
este o referință la obiectul JTable
pe care dorim să adăugăm datele. Metoda getModel
returnează modelul de date asociat tabelului‚ iar addRow
adaugă un nou rând cu datele specificate. DefaultTableModel
gestionează automat actualizarea tabelului JTable
‚ reflectând modificările aduse modelului de date. Această flexibilitate și simplitate facilitează adăugarea de date dinamice în tabel‚ permițând dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat.
Modificarea datelor din tabel
Modificarea datelor dintr-un tabel JTable
se realizează prin intermediul modelului de date asociat‚ DefaultTableModel
. DefaultTableModel
oferă o metodă simplă pentru actualizarea valorilor din celule individuale. Metoda setValueAt(Object value‚ int row‚ int column)
acceptă trei parametri⁚ valoarea nouă‚ indexul rândului și indexul coloanei ce trebuie actualizate. De exemplu‚ pentru a modifica prețul unui produs din tabelul nostru‚ de la 1500 la 1700 de lei‚ vom utiliza următorul cod⁚
DefaultTableModel model = (DefaultTableModel) table.getModel;
model.setValueAt(1700‚ 1‚ 1); // Actualizează prețul (coloana 1) la rândul 1
În acest cod‚ presupunem că table
este o referință la obiectul JTable
‚ iar model
este modelul de date asociat. Metoda setValueAt
actualizează valoarea din celula specificată. DefaultTableModel
gestionează automat actualizarea tabelului JTable
‚ reflectând modificările aduse modelului de date. Această flexibilitate și simplitate facilitează modificarea datelor dinamice în tabel‚ permițând dezvoltatorilor să creeze interfețe grafice interactive și ușor de utilizat.
Ștergerea datelor din tabel
Ștergerea datelor dintr-un tabel JTable
se realizează prin intermediul modelului de date asociat‚ DefaultTableModel
. DefaultTableModel
oferă metode specifice pentru eliminarea rândurilor individuale sau a întregului tabel. Pentru a șterge un rând specific‚ se utilizează metoda removeRow(int row)
‚ care acceptă indexul rândului ce trebuie eliminat. De exemplu‚ pentru a șterge al doilea rând din tabelul nostru‚ vom utiliza următorul cod⁚
DefaultTableModel model = (DefaultTableModel) table.getModel;
model.removeRow(1); // Elimină rândul cu indexul 1
În acest cod‚ presupunem că table
este o referință la obiectul JTable
‚ iar model
este modelul de date asociat. Metoda removeRow
elimină rândul specificat din tabel‚ actualizând automat afișarea tabelului JTable
. DefaultTableModel
gestionează automat reindexarea rândurilor rămase‚ asigurând o actualizare consistentă a datelor. Această facilitate permite dezvoltatorilor să ofere utilizatorilor o experiență intuitivă‚ permițând ștergerea datelor nedorite din tabel cu ușurință.
Sortare și filtrare a datelor
Pentru a facilita navigarea și analiza datelor‚ JTable
permite sortarea și filtrarea conținutului. Sortare și filtrare pot fi implementate fie prin intermediul modelului de date‚ fie prin adăugarea de componente externe‚ cum ar fi RowSorter
. DefaultTableModel
nu oferă suport implicit pentru sortare‚ dar permite implementarea personalizată a acestei funcționalități. Pentru a implementa sortarea‚ se poate crea o clasă care implementează interfața Comparator
‚ care compară două elemente din tabel și returnează un rezultat bazat pe criteriile de sortare. Această clasă poate fi apoi utilizată pentru a sorta datele din tabel prin intermediul metodei sort
a modelului de date.
Filtrarea datelor în JTable
se poate realiza prin intermediul clasei RowFilter
. RowFilter
permite filtrarea datelor din tabel bazat pe criterii specifice. Pentru a filtra datele‚ se creează un obiect RowFilter
‚ care acceptă o expresie de filtrare. Această expresie definește criteriile de filtrare‚ cum ar fi o valoare specifică într-o coloană sau o condiție logică. RowFilter
poate fi apoi aplicat tabelului prin intermediul metodei setRowFilter
a clasei RowSorter
.
Prin implementarea sortării și filtrării‚ JTable
oferă utilizatorilor o experiență mai interactivă‚ permițând navigarea și analiza datelor într-un mod mai eficient. Această funcționalitate este esențială pentru aplicațiile care manipulează cantități mari de date‚ facilitând extragerea informațiilor relevante și analiza datelor.
Personalizarea aspectului JTable
JTable
oferă o gamă largă de opțiuni de personalizare a aspectului‚ permițând developerilor să creeze o interfață vizuală adaptată nevoilor specifice ale aplicației. Unul dintre aspectele importante ale personalizării este controlul asupra aspectului celulelor din tabel. JTable
permite setarea culorii de fundal și a culorii textului pentru fiecare celulă individuală‚ precum și pentru întregul tabel. De asemenea‚ se poate controla fontul utilizat pentru afișarea textului în celule‚ permițând ajustarea dimensiunii‚ stilului și familiei de fonturi. Pentru a personaliza aspectul celulelor‚ se poate utiliza metoda setDefaultRenderer
a clasei JTable
‚ care acceptă un obiect TableCellRenderer
. Acest obiect este responsabil pentru afișarea vizuală a celulelor din tabel.
Personalizarea aspectului JTable
include și controlul asupra dimensiunii coloanelor și a rândurilor. JTable
permite setarea lățimii fiecărei coloane în mod individual‚ precum și setarea înălțimii fiecărui rând. De asemenea‚ se poate controla alinierea textului în celule‚ permițând alinierea la stânga‚ la dreapta sau la centru. Pentru a personaliza dimensiunea coloanelor‚ se poate utiliza metoda getColumnModel
a clasei JTable
‚ care returnează un obiect TableColumnModel
. Acest obiect permite accesul la coloanele din tabel și modificarea lățimii lor. Pentru a personaliza înălțimea rândurilor‚ se poate utiliza metoda setRowHeight
a clasei JTable
.
Personalizarea aspectului JTable
oferă developerilor flexibilitate în crearea unei interfețe vizuale atractive și ușor de utilizat‚ adaptată nevoilor specifice ale aplicației. Prin controlul asupra aspectului celulelor‚ dimensiunii coloanelor și alinierii textului‚ developerii pot crea o experiență vizuală optimă pentru utilizatori.
Evenimentele JTable
JTable
oferă o gamă largă de evenimente care pot fi gestionate de programator pentru a răspunde la interacțiunile utilizatorului cu tabelul. Aceste evenimente permit developerilor să implementeze o logică specifică în funcție de acțiunile utilizatorului‚ cum ar fi selectarea unei celule‚ editarea unei valori sau sortarea datelor. Unul dintre cele mai importante evenimente este TableModelEvent
‚ care este declanșat atunci când modelul de date asociat tabelului este modificat. Acest eveniment permite developerilor să actualizeze interfața grafică în funcție de modificările din modelul de date‚ asigurând o sincronizare constantă între datele afișate în tabel și datele din model.
Un alt eveniment important este MouseEvent
‚ care este declanșat atunci când utilizatorul interacționează cu tabelul prin intermediul mouse-ului. Acest eveniment permite developerilor să detecteze acțiuni precum clicul pe o celulă‚ selectarea unei linii sau glisarea mouse-ului peste tabel. Prin gestionarea evenimentelor MouseEvent
‚ developerii pot implementa funcționalități specifice‚ cum ar fi afișarea unui meniu contextual la clicul pe o celulă sau selectarea multiplă a liniilor prin glisarea mouse-ului;
JTable
oferă și alte evenimente‚ cum ar fi KeyEvent
‚ care este declanșat atunci când utilizatorul apasă o tastă în timp ce tabelul este în focus‚ și ComponentEvent
‚ care este declanșat atunci când dimensiunea sau vizibilitatea tabelului este modificată. Prin gestionarea evenimentelor asociate JTable
‚ developerii pot crea o interfață grafică interactivă și dinamică‚ care răspunde la acțiunile utilizatorului și oferă o experiență optimă.
Utilizarea JTable în Java Swing pentru vizualizarea datelor
Concluzie
JTable
este o componentă esențială a bibliotecii Java Swing‚ oferind o modalitate simplă și eficientă de a afișa date tabelare în interfețele grafice Java. Prin utilizarea clasei DefaultTableModel
‚ developerii pot crea și gestiona cu ușurință modele de date pentru JTable
‚ permițând afișarea datelor într-un mod structurat și intuitiv. DefaultTableModel
oferă o serie de metode utile pentru adăugarea‚ modificarea și ștergerea datelor din tabel‚ precum și pentru sortarea și filtrarea datelor. De asemenea‚ developerii pot personaliza aspectul JTable
prin setări specifice‚ cum ar fi culoarea de fundal‚ fontul și alinierea textului.
JTable
oferă o gamă largă de evenimente care pot fi gestionate de programator pentru a răspunde la interacțiunile utilizatorului cu tabelul. Aceste evenimente permit developerilor să implementeze o logică specifică în funcție de acțiunile utilizatorului‚ cum ar fi selectarea unei celule‚ editarea unei valori sau sortarea datelor. Prin gestionarea evenimentelor asociate JTable
‚ developerii pot crea o interfață grafică interactivă și dinamică‚ care răspunde la acțiunile utilizatorului și oferă o experiență optimă.
În concluzie‚ JTable
este o componentă versatilă și puternică a bibliotecii Java Swing‚ care permite developerilor să afișeze și să manipuleze date tabelare într-un mod eficient și intuitiv. Prin utilizarea clasei DefaultTableModel
și prin gestionarea evenimentelor asociate JTable
‚ developerii pot crea interfețe grafice interactive și dinamice‚ care oferă o experiență optimă utilizatorilor.
Articolul oferă o prezentare clară și concisă a JTable și DefaultTableModel. Explicațiile sunt bine structurate și ușor de înțeles. Aș adăuga o secțiune cu exemple de utilizare a JTable în aplicații de tip client-server, cum ar fi afișarea datelor dintr-un server web.
Un articol bine scris și ușor de citit, care oferă o introducere excelentă în utilizarea JTable și DefaultTableModel. Exemplele sunt bine alese și ajută la înțelegerea conceptelor prezentate. Aș adăuga o secțiune cu exemple de integrare a JTable cu alte componente Swing, cum ar fi JScrollpane sau JButton.
O prezentare completă și bine documentată a JTable și DefaultTableModel. Articolul acoperă toate aspectele importante ale utilizării acestor componente, de la crearea tabelelor până la implementarea funcționalităților de sortare și filtrare. Recomand acest articol tuturor dezvoltatorilor Java care lucrează cu interfețe grafice.
Un ghid excelent pentru cei care doresc să învețe să utilizeze JTable în Java Swing. Prezentarea conceptului de model de date și a DefaultTableModel este bine structurată și ușor de înțeles. Aș adăuga o secțiune suplimentară cu exemple de personalizare a aspectului JTable, cum ar fi modificarea culorilor, fonturilor și aliniamentului.
Un articol util și informativ pentru cei care doresc să învețe să utilizeze JTable în Java Swing. Prezentarea conceptului de model de date și a DefaultTableModel este bine structurată și ușor de înțeles. Aș adăuga o secțiune cu exemple de utilizare a JTable în aplicații web, cum ar fi afișarea datelor într-un tabel HTML.
Articolul prezintă o introducere clară și concisă în utilizarea JTable și DefaultTableModel în Java Swing. Explicația pas cu pas a creării și manipulării tabelelor este ușor de urmat, iar exemplele oferite sunt relevante și utile. Recomand acest articol atât începătorilor, cât și dezvoltatorilor cu experiență care doresc să aprofundeze utilizarea JTable.
Articolul oferă o perspectivă utilă asupra utilizării JTable și DefaultTableModel. Explicațiile sunt clare și concise, iar exemplele sunt bine alese. Ar fi util să se includă o secțiune cu exemple de gestionare a evenimentelor asociate cu JTable, cum ar fi selectarea rândurilor sau modificarea datelor.
Un articol bine scris și ușor de citit, care oferă o introducere excelentă în utilizarea JTable și DefaultTableModel. Exemplele sunt bine alese și ajută la înțelegerea conceptelor prezentate. Aș adăuga o secțiune cu exemple de utilizare a JTable în aplicații de tip desktop, cum ar fi afișarea datelor într-un tabel desktop.
Articolul oferă o prezentare clară și concisă a JTable și DefaultTableModel. Explicațiile sunt bine structurate și ușor de înțeles. Aș adăuga o secțiune cu exemple de utilizare a JTable în scenarii reale, cum ar fi afișarea datelor dintr-o bază de date sau dintr-un fișier.
Articolul oferă o prezentare completă și bine documentată a JTable și DefaultTableModel. Explicațiile sunt clare și concise, iar exemplele sunt bine alese. Aș adăuga o secțiune cu exemple de utilizare a JTable în aplicații mobile, cum ar fi afișarea datelor într-un tabel Android.