Cum se creează un tabel simplu în Java pentru utilizare într-o GUI

click fraud protection

Utilizarea Array-urilor pentru a stoca datele din tabel

O modalitate simplă de a furniza date pentru

clasa trebuie să folosească două tablouri. Primul reține numele coloanelor în a

matrice:

Al doilea tablou este un tablou de obiecte bidimensional care conține datele pentru tabel. Acest tablou, de exemplu, include șase înotători olimpici:

Cheia aici este să vă asigurați că cele două tablouri au același număr de coloane.

Construirea JTable-ului

După ce aveți datele în loc, este o sarcină simplă să creați tabelul. Sună doar

JTable
constructor și treceți-le pe cele două tablouri: Probabil veți dori să adăugați bare de defilare pentru a vă asigura că utilizatorul poate vedea toate datele. Pentru a face acest lucru, plasați.
JTable
intr-o
JScrollPane
: Acum, când tabelul este afișat, veți vedea coloanele și rândurile de date și vor avea capacitatea de a derula în sus și în jos.

Obiectul JTable oferă un tabel interactiv. Dacă faceți dublu clic pe oricare dintre celule, veți putea edita conținutul - deși orice editare afectează numai GUI, nu și datele de bază. (Un

instagram viewer
ascultător de evenimente ar trebui să fie pus în aplicare pentru a face față schimbării datelor.).

Pentru a schimba lățimile coloanelor, plasați mouse-ul pe marginea unui antet de coloană și trageți-l înainte și înapoi. Pentru a schimba ordinea coloanelor, faceți clic și mențineți apăsat un antet de coloană, apoi trageți-l în noua poziție.

Sortarea Coloanelor

Pentru a adăuga posibilitatea de a sorta rândurile, apelați

setAutoCreateRowSorter
metoda: Când această metodă este setată pe adevărat, puteți face clic pe un antet de coloană pentru a sorta rândurile în funcție de conținutul celulelor de sub acea coloană.

Schimbarea aspectului tabelului

Pentru a controla vizibilitatea liniilor de grilă, utilizați butonul

setShowGrid
metoda: Pentru a schimba culoarea tabelului cu totul, utilizați tasta.
setBackground
și
setGridColor
metode: Lățimile coloanei tabelului sunt egale în mod implicit. Dacă containerul în care se află tabelul este redimensionabil, atunci lățimile coloanelor se vor extinde și se vor micșora, iar containerul va crește mai mare sau mai mic. Dacă un utilizator redimensionează coloana, atunci lățimea coloanelor din dreapta se va schimba pentru a se potrivi cu noua dimensiune a coloanei.

Lățimile inițiale ale coloanei pot fi setate folosind metoda setPreferredWidth sau o coloană. Utilizați clasa TableColumn pentru a obține mai întâi o referință la coloană, apoi metoda setPreferredWidth pentru a seta dimensiunea:

Selectarea rândurilor

În mod implicit, utilizatorul poate selecta rândurile tabelului într-unul din trei moduri:

  • Pentru a selecta un singur rând, selectați o celulă de tabel din acel rând.
  • Pentru a selecta rânduri continue, multiple, trageți mouse-ul peste mai multe rânduri sau selectați celulele tabelului cu celula de deplasare apăsată.
  • Pentru a selecta mai multe rânduri care nu sunt continue, selectați celulele tabelului ținând apăsat butonul cheie de control (cheia de comandă pentru Mac).

Utilizarea unui model de tabel

Utilizarea a câteva tablouri pentru datele unui tabel poate fi utilă dacă doriți un simplu Şir-tabelul bazat care poate fi editat. Dacă te uiți la tabloul de date pe care l-am creat, acesta conține alte tipuri de date decât

-

coloana contine

si

coloana contine

. Cu toate acestea, ambele coloane sunt afișate ca șiruri. Pentru a schimba acest comportament, creați un model de tabel.

Un model de tabel gestionează datele care vor fi afișate în tabel. Pentru a implementa un model de tabel, puteți crea o clasă care extinde

clasă:

Cele șase metode de mai sus sunt cele utilizate în acest ghid pas cu pas, dar există mai multe metode definite de

clasă care sunt utile în manipularea datelor dintr-un

obiect. Când extindeți o clasă pentru a utiliza

vi se cere să implementați numai

,

și

metode.

Creați o clasă nouă punând în aplicare cele cinci metode prezentate mai sus:

În acest exemplu are sens pentru

clasă pentru a ține cele două șiruri care conțin datele tabelului. Apoi,

,

și

metodele pot utiliza tablourile pentru a oferi valorile pentru tabel. De asemenea, observați cum

a fost scrisă metoda pentru a nu permite primele două coloane să fie editate.

Acum, în loc să folosești cele două tablouri pentru a crea

obiect, putem folosi

clasă:

Când codul rulează, veți vedea că

obiectul folosește modelul tabelului, deoarece niciuna dintre celulele tabelului nu pot fi modificate, iar numele coloanelor sunt utilizate corect. Dacă

metoda nu a fost implementată, atunci numele coloanelor de pe tabelă vor apărea ca nume implicite ale A, B, C, D etc.

Să luăm acum în considerare metoda

. Acest lucru face ca modelul de tabel să merite implementat, deoarece oferă

obiect cu tipul de date continut in fiecare coloana. Dacă vă amintiți, tabloul de date obiect are două coloane care nu sunt

tipuri de date:

coloana care conține ints și

coloana care contine

. Cunoașterea acestor tipuri de date schimbă funcționalitatea oferită de către

obiect pentru acele coloane. Rularea codului de tabel de exemplu cu modelul de tabel implementat înseamnă

coloana va fi de fapt o serie de căsuțe de selectare.

Adăugarea unui editor ComboBox

Puteți defini editori personalizați pentru celulele din tabel. De exemplu, puteți face o casetă combo o alternativă la editarea standard a textului pentru un câmp.

Iată un exemplu folosind

domeniul campului:

Pentru a seta editorul implicit pentru coloana de țară, utilizați tasta

clasa pentru a obține o referință la coloana de țară și

metoda de setare a

ca editor de celule:

instagram story viewer