Tabla de Contenidos
A JTable egy olyan osztály, amelyet a Java nyelven interaktív táblák létrehozására használnak, amelyeket a felhasználók szerkeszthetnek az adott programozási nyelv Swing API összetevőinek köszönhetően. Alapvetően egy grafikus felületből áll, amely lehetővé teszi az adatok táblázatos ábrázolását, lehetővé téve a GUI által megjelenített adatok különböző módokon történő megtekintését és interakcióját, beleértve többek között a táblázatok tartalmának szerkesztését, módosítását. az oszlopok és sorok méreteit, a különböző oszlopokat tetszés szerint rendezve.
Egyszerű JTable létrehozása
Ez a példa egy egyszerű táblázatot kíván felépíteni a következő információkkal:
Keresztnév | Vezetéknév | Szex | Kor |
Adriana | Állj meg | F | huszonegy |
Juan | tintahal | m | 40 |
rozalia | bernard | F | 67 |
Juliana | perez | F | 36 |
Izrael | gonzalez | m | 36 |
Ez a táblázat egy görgetősávval ellátott ablakban jelenik meg. Amikor JTable-t használunk az adatok táblázatos megjelenítésére, figyelembe kell venni, hogy a JTable csak a grafikus felület, nem tartalmazza a megjelenítendő adatokat. Ezeket az adatokat a modellosztályba kell foglalni. Más szóval, ahhoz, hogy a táblánk bármilyen adatot meg tudjon jeleníteni, először példányosítanunk kell egy adatmodellt, majd ezt a modellt át kell adni a JTable- nak a konstruktor segítségével.
Keret létrehozása
Figyelembe kell venni, hogy a JTable-nak szüksége van egy keretre, amelyben megjeleníthető, ezért először ezt kell létrehozni, és olyan információkat kell tartalmaznia, mint a keret helyzete és méretei, valamint annak megadása, hogy a keret megjelenik-e vagy sem. .
Ennek eléréséhez egy általános kód a következő lenne:
public class JTable_Use {
Public static void main(String[] args) {
JFrame myframe=new TableFrame() ;
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
myframe.setVisible(true) ;
}
}
class TableFrame kiterjeszti a JFrame-et {
public TableFrame() {
setTitle(„Felhasználói adatok”) ;
setBounds(200,200,700,500) ;
}
}
A fenti kód 200×200-as pozícióban, 700×500-as méretű, látható keretet hoz létre Felhasználói adatok címmel.
Most létrehozunk egy táblázatot, amely a felhasználók adatait tartalmazza. A példa alkalmazásában ezek az adatok magukban foglalják a keresztnevet, a vezetéknevet, a nemet és az életkort.
Számos konstruktort használhatunk az adatok hozzáadásához a létrehozandó táblához. Az egyik legegyszerűbb konstruktor két adattömböt tesz lehetővé argumentumként:
JTable(Object[] [] rowData, Object[] oszlopnevek)
Amint láthatja, ez egy egyszerű konstruktor a JTable számára , amely argumentumként egy első paramétert vesz fel, amely egy kétdimenziós Object típusú tömb , amelyben az egyes soroknak megfelelő adatok szerepelnek majd ( rowData ), és egy második paramétert, amely szintén ez egy tömb , de egydimenziós, szintén Object típusú , amelyben az oszlopok fejlécei vagy nevei ( oszlopnév ) szerepelni fognak.
Röviden, ha ezt a konstruktort akarjuk használni, két tömböt kell deklarálnunk , az egyiket kétdimenziós, a másikat pedig egy dimenziós. Ezt a fent bemutatott keretrendszert felépítő osztályon belül tesszük.
Kezdjük azzal, hogy deklaráljuk az oszlopfejléceknek megfelelő tömböt . Mivel szövegről van szó, String típusúak lesznek . Ez alatt deklaráljuk a táblázat egyes soraiban megjelenő adatoknak megfelelő kétdimenziós tömböt . A tömb deklarációja így néz ki:
private String [] columnheads={„Keresztnév”, „Vezetéknév”, „Nem”, „Kor”} ;
private String [] [] userData={
{„Adriana”, „Stop”, „F”, „21”},
{«John», «Calamaro», «M», «40»},
{«Rosalía», «Bernard», « F « , « 67 « },
{„Juliana”, „Perez”, „F”, „36”},
{„Izrael”, „González”, „M”, „36”}
};
Ebben a kódban a „cabezadasColumnas” és „dataUsers” oszlopok nevét tartalmazó tömböt neveztük el annak a kétdimenziós tömbnek , amely a táblázatba kerülő öt felhasználó adatait tartalmazza.
Most, hogy megvannak azok az adatok, amelyeket meg szeretnénk jeleníteni a JTable-ban , továbblépünk a konstruktor használatával, hogy átadjuk ezeket az adatokat a JTable- nak . Ezt a korábban kialakított keretek között tesszük. A táblánknak nevet kell adnunk, ezért ebben a példában userTable-nak nevezzük:
JTable tablaUsuarios=new JTable(dataUsers, headersOszlopok) ;
Görgetősávok és központosítás hozzáadása
Ezen a ponton már van egy JTable , amely egy egyszerű táblázatot mutat 4 oszlopból és 6 sorból, amelynek első sora az oszlopfejlécekkel, majd 5 sor 5 felhasználó adataival. Előfordulhat azonban, hogy ez a táblázat nem fér bele az elején létrehozott 700×500-as keretbe, vagy ha most belefér, akkor később több felhasználó adatait is hozzáadhatjuk hozzá, és előfordulhat, hogy nem fér bele. Ebben az esetben hasznos görgetősávok hozzáadása, hogy a táblázatban szereplő összes információ látható legyen.
Ezt a JScrollPane segítségével tesszük . Ezen kívül az is kényelmes, hogy megadjuk az asztalunk pozícióját a kereten belül. Ehhez a BorderLayoutot használjuk , az alábbiak szerint:
add(new JScrollPane(userTable), BorderLayout.CENTER) ;
a végső kódot
Miután az összes részt hozzáadta a kódhoz, a következőképpen kell kinéznie:
public class JTable_Use {
public static void main(String[] args) {
JFrame myframe=new TableFrame() ;
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
myframe.setVisible(true) ;
}
}
class TableFrame kiterjeszti a JFrame-et {
public TableFrame() {
setTitle(„Felhasználói adatok”) ;
setBounds(200,200,500,500) ;
JTable tablaUsuarios=new JTable(dataUsers, headersOszlopok) ;
add(new JScrollPane(userTable), BorderLayout.CENTER) ;
}
private String [] columnheads={„Keresztnév”, „Vezetéknév”, „Nem”, „Kor”} ;
private String [] [] userData={
{„Adriana”, „Stop”, „F”, „21”},
{«John», «Calamaro», «M», «40»},
{«Rosalía», «Bernard», « F « , « 67 « },
{„Juliana”, „Perez”, „F”, „36”},
{„Izrael”, „González”, „M”, „36”}
};
}
Hogyan adjunk hozzá más funkciókat?
A görgetősávon kívül a JTable lehetővé teszi, hogy végtelen számú funkciót adjon hozzá a különböző alkalmazásokhoz. Lehetőséget adhatunk arra, hogy a felhasználó tetszés szerint rendezze a sorokat, módosíthatja a táblázat megjelenését a cellák háttérszíneinek módosításával, a szegélyek megjelenítésével vagy mellőzésével, stb.
Hivatkozások
Abellán, J. (2007a, február 4.). Példa TableModel kisalkalmazás a JTable számára. Letöltve: http://www.chuidiang.org/java/tablas/tablamodelo/applettabla.php
Abellán, J. (2007b, február 4.). Példa a TableModelre a JTable-ban. Letöltve: http://www.chuidiang.org/java/tablas/tablamodelo/tablamodelo.php
Számítógépes tabletták [pildorasinformaticas]. (2017, szeptember 20.). java tanfolyam mellékletek III. JTable I. Video 267 [Video file]. Helyreállítva a https://www.youtube.com/watch?v=yH_g6QGFqes webhelyről
Sensei, J. (2011, január 24.). Hogyan válasszunk ki egy sort egy Java JTable-ból. Letöltve 2021. szeptember 13-án, innen: http://jedicerocool.blogspot.com/2011/01/como-seleccionar-una-fila-de-un-jtable.html