Jak vytvořit jednoduchou tabulku v Javě pro použití v GUI

Použití polí k uložení dat tabulky

Jednoduchý způsob, jak poskytnout data pro internet

třída má použít dvě pole. První obsahuje názvy sloupců v a

pole:

Druhé pole je dvourozměrné objektové pole, které uchovává data tabulky. Toto pole obsahuje například šest olympijských plavců:

Klíčem je zajistit, aby obě pole měla stejný počet sloupců.

Konstrukce JTable

Jakmile máte data na místě, je to jednoduchý úkol vytvořit tabulku. Stačí zavolat

JTable
konstruktér a předejte jej dvěma polím: Pravděpodobně budete chtít přidat posuvníky, aby uživatel viděl všechna data. Chcete-li tak učinit, umístěte.
JTable
do
JScrollPane
: Nyní, když se zobrazí tabulka, uvidíte sloupce a řádky dat a budete mít možnost posouvat nahoru a dolů.

Objekt JTable poskytuje interaktivní tabulku. Pokud poklepete na některou z buněk, budete moci upravit obsah - ačkoli jakákoli úprava ovlivní pouze GUI, nikoli podkladová data. (An posluchač událostí by bylo třeba implementovat, aby bylo možné zvládat změnu dat.).

Chcete-li změnit šířku sloupců, umístěte kurzor myši na okraj záhlaví sloupce a přetáhněte jej tam a zpět. Chcete-li změnit pořadí sloupců, klikněte a podržte záhlaví sloupce a potom jej přetáhněte na nové místo.

instagram viewer

Třídění sloupců

Chcete-li přidat možnost třídění řádků, zavolejte

setAutoCreateRowSorter
metoda: Když je tato metoda nastavena na true, můžete klepnutím na záhlaví sloupce řadit řádky podle obsahu buněk pod tímto sloupcem.

Změna vzhledu tabulky

Pro kontrolu viditelnosti čar mřížky použijte

setShowGrid
metoda: Chcete-li úplně změnit barvu tabulky, použijte.
setBackground
a
setGridColor
metody: Šířky sloupců tabulky jsou ve výchozím nastavení stejné. Pokud je kontejner, ve kterém je tabulka, rozměrný, šířka sloupců se zvětší a zmenší a kontejner se zvětšuje nebo zmenšuje. Pokud uživatel změní velikost sloupce, změní se šířka sloupců doprava tak, aby vyhovovala nové velikosti sloupce.

Počáteční šířky sloupců lze nastavit pomocí metody setPreferredWidth nebo sloupce. Pomocí třídy TableColumn nejprve získejte odkaz na sloupec a poté pomocí metody setPreferredWidth nastavte velikost:

Výběr řádků

Ve výchozím nastavení může uživatel vybrat řádky tabulky jedním ze tří způsobů:

  • Chcete-li vybrat jeden řádek, vyberte buňku tabulky v tomto řádku.
  • Chcete-li vybrat souvislé více řádků, přetáhněte myš přes několik řádků nebo vyberte buňky tabulky se stisknutou buňkou posunu.
  • Chcete-li vybrat nespojité více řádků, vyberte buňky tabulky a přidržte klávesu ovládací klíč (příkazový klíč pro Mac).

Použití stolního modelu

Použití několika polí pro data tabulky může být užitečné, pokud chcete jednoduché Tětivatabulka, kterou lze upravit. Pokud se podíváte na datové pole, které jsme vytvořili, obsahuje jiné typy dat než

-

sloupec obsahuje

a

sloupec obsahuje

. Přesto jsou oba tyto sloupce zobrazeny jako řetězce. Chcete-li toto chování změnit, vytvořte model tabulky.

Model tabulky spravuje data, která se mají zobrazit v tabulce. Chcete-li implementovat model tabulky, můžete vytvořit třídu, která rozšiřuje

třída:

Šest výše uvedených metod je použito v tomto průvodci krok za krokem, ale existuje více metod definovaných v

třídy, které jsou užitečné při manipulaci s daty v

objekt. Při rozšiřování třídy používat

jste povinni implementovat pouze

,

a

metody.

Vytvořte novou třídu implementující výše uvedených pět metod:

V tomto příkladu to dává smysl pro

třída pro držení dvou řetězců obsahujících data tabulky. Pak,

,

a

metody mohou pomocí polí poskytnout hodnoty pro tabulku. Také si všimněte, jak

byla zapsána metoda, která zakáže první dva sloupce, které mají být upraveny.

Nyní místo použití dvou polí k vytvoření

objekt, můžeme použít

třída:

Když se kód spustí, uvidíte, že

objekt používá model tabulky, protože žádná z buněk tabulky nelze upravovat a názvy sloupců jsou správně použity. Pokud

metoda nebyla implementována, pak by se názvy sloupců v tabulce zobrazovaly jako výchozí názvy A, B, C, D atd.

Podívejme se nyní na metodu

. To samo o sobě činí model tabulky za implementaci, protože poskytuje

objekt s datovým typem obsaženým v každém sloupci. Pokud si pamatujete, datové pole objektu má dva sloupce, které nejsou

datové typy:

sloupec, který obsahuje ints, a

sloupec, který obsahuje

. Znalost těchto datových typů mění funkce poskytované

objekt pro tyto sloupce. Spuštění ukázkového kódu tabulky s implementovaným modelem tabulky znamená

sloupec bude ve skutečnosti řadou zaškrtávacích políček.

Přidání editoru ComboBox

Můžete definovat vlastní editory pro buňky v tabulce. Například můžete vytvořit rozbalovací seznam jako alternativu ke standardní úpravě textu pro pole.

Zde je příklad použití

pole země:

Chcete-li nastavit výchozí editor pro sloupec země, použijte

třídy získat odkaz na sloupec země, a

metoda pro nastavení

jako editor buněk:

instagram story viewer