Tabulky v Javě

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidána kategorie GUI)
m (javax.swing.table.AbstractTableModel: Doplnění vysvětlení, oprava gramatických chyb.)
Řádka 13: Řádka 13:
  
 
== <code>javax.swing.table.AbstractTableModel</code> ==
 
== <code>javax.swing.table.AbstractTableModel</code> ==
* Rozhraní <code>TableModel</code> má mnoho metod, které by se u většiny tabulek opakovali.
+
* Rozhraní <code>TableModel</code> má mnoho metod, které by se u většiny tabulek opakovaly.
* Abstraktní třída <code>AbstractTableModel</code> tedy nabízí standardní implementaci většiny metod rozhraní <code>TableModel</code>. Stačí tedy zdědit tyto metody a předefinovat ty, u kterých vyžadujeme jiné než standardní chování.
+
* Abstraktní třída <code>AbstractTableModel</code> nabízí standardní implementaci většiny metod rozhraní <code>TableModel</code>. Stačí tedy zdědit tyto metody a předefinovat ty, u kterých vyžadujeme jiné než standardní chování.
  
  
Řádka 22: Řádka 22:
  
 
; Abstraktní metody (musí být předefinovány)
 
; Abstraktní metody (musí být předefinovány)
 +
Tyto metody volá třída <tt>JTable</tt>. Sdělíme jí tak, jaká data má v tabulce zobrazovat a jak velká má být tabulka.
 
* <code>int getRowCount()</code>
 
* <code>int getRowCount()</code>
 
* <code>int getColumnCount()</code>
 
* <code>int getColumnCount()</code>
Řádka 49: Řádka 50:
  
  
; Pokud se změní data v tabulce, musíme informovat své posluchače
+
; Pokud se změní data, je to třeba třídě <tt>JFrame</tt> sdělit
* K tomu stačí zavolat připravené metody, které zdědíme ze třídy <code>AbstractTableModel</code>
+
* K tomu stačí zavolat připravené metody, které zdědíme ze třídy <code>AbstractTableModel</code>.
 
* <code>void fireTableDataChanged()</code> &mdash; obecná změna dat
 
* <code>void fireTableDataChanged()</code> &mdash; obecná změna dat
 
* <code>void fireTableRowsDeleted(int firstRow, int lastRow)</code> &mdash; smazání daných řádků
 
* <code>void fireTableRowsDeleted(int firstRow, int lastRow)</code> &mdash; smazání daných řádků
 
* a další...
 
* a další...
 
 
 
  
 
== <code>javax.swing.JScrollPane</code> ==
 
== <code>javax.swing.JScrollPane</code> ==

Verze z 9. 6. 2014, 11:53


Více viz: Oracle.com > Tutorial > Table.

javax.swing.JTable

JTable table = new JTable(new MyTableModel()); 


javax.swing.table.AbstractTableModel



Abstraktní metody (musí být předefinovány)

Tyto metody volá třída JTable. Sdělíme jí tak, jaká data má v tabulce zobrazovat a jak velká má být tabulka.


Lze předefinovat také další metody


Jak s třídou pracujeme


Pokud se změní data, je to třeba třídě JFrame sdělit

javax.swing.JScrollPane


Součásti


Použití pro zobrazení tabulky

JScrollPane scrollPane = new JScrollPane(table); 
panel.add(scrollPane);

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje