Java 2 Útikalauz programozóknak 5.0

elte.java2_utikalauz5.swing
JTableTeszt osztály

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by javax.swing.JApplet
                      extended by elte.java2_utikalauz5.swing.SwingTeszt
                          extended by elte.java2_utikalauz5.swing.JTableTeszt
Megvalósított interfészek:
ActionListener, AdjustmentListener, ItemListener, MouseListener, ImageObserver, MenuContainer, Serializable, Runnable, EventListener, Accessible, ChangeListener, ListSelectionListener, TableColumnModelListener, RootPaneContainer

public class JTableTeszt
extends SwingTeszt
implements ChangeListener, TableColumnModelListener, ListSelectionListener, ItemListener, MouseListener

Táblázatok használata Swingben.

<IMG src="../../../../data/swing/img/JTableTeszt-Steel.png">

A felhasználói felület tetején a naplózó komponens látható, ahol a táblázat adatmodelljének, valamit a kiválasztás változását követhetjük nyomon. Alatta egy 10*50-es táblázat látható, amely kezdetben az adott cella sor- és oszlopszámának szorzatát reprezentáló számot tartalmazza minden cellájában. A táblázatban található egy logikai értékeket tartalmazó oszlop is, melynek kiválasztott értéke az adott sor pirossal történő kiemelését eredményezi. Ezen táblázat különlegessége, hogy bármely kiválasztott oszlop lefixálható, ami azt jelenti, hogy az oszlop sötétebb háttérrel a táblázat elejére kerül és mindig látható marad, tehát vízszintesen nem fog a látótérből kigördülni. A táblázat sorai egy adott oszlop értékei alapján ABC rendbe rendezhetőek, ha rákattintunk valamely oszlop fejlécére. A táblázat mezői szerkeszthetőek (duplakattintás hatására), valamint minden négyzetszámot ábrázoló mezőjében zöld háttéren külön ikon is megjeleníttethető. Legalul a vezérlő panel látható, melynek gombjai lehetővé teszik a táblázat jellemzőinek szabályozását, kiválasztott oszlopok fixálást, illetve oszlopok fixálásának feloldását, valamint a megjelenítési stílus váltását. A táblázat megjelenítése nyomkövethető.

Oszlopok fix megjelenítéséhez tulajdonképp két táblázatot használunk. Az eredeti táblázaton kívül a lefixált oszlopokat egy külön táblázat tartalmazza, amely a táblázatot tartalmazó görgethető panel sorfejléceként kerül felhasználásra. Mindkét táblázat adat- és kiválasztási modellje azonos, csak az oszlopmodellek különböznek.

A táblázat adatmodellje lehetővé teszi a táblázat sorainak rendezését egy adott oszlop értékei alapján.

A táblázat fejlécének megjelenítését végző névtelen osztály az őse funkcionalitását csak annyival egészíti ki, hogy a rendezés alapját megadó oszlop fejlécében a rendezés irányát jelző kis nyilacskát is megjeleníti.

Mióta:
Java 2 Útikalauz programozóknak
Lásd még:
Szerializált forma
Forrásfájl:
JTableTeszt.java
Letöltés:
JTableTeszt.jar

Beágyazott típusok
(package private)  class JTableTeszt.BooleanTableElem
          Logikai értéket megjelenítő cellaszerkesztő
(package private)  class JTableTeszt.Modell
          Táblázat szerkeszthető és rendezhető adatmodellje.
 
elte.java2_utikalauz5.swing.SwingTeszt osztálytól örökölt beágyazott típusok
SwingTeszt.ScrollBar
 
javax.swing.JApplet osztálytól örökölt beágyazott típusok
JApplet.AccessibleJApplet
 
java.applet.Applet osztálytól örökölt beágyazott típusok
Applet.AccessibleApplet
 
java.awt.Panel osztálytól örökölt beágyazott típusok
Panel.AccessibleAWTPanel
 
java.awt.Container osztálytól örökölt beágyazott típusok
Container.AccessibleAWTContainer
 
java.awt.Component osztálytól örökölt beágyazott típusok
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Mezők
private  TableColumn booleanoszlop
          Logikai értéket megjelenítő oszlop
private  DefaultTableCellRenderer fejléc
          Rendezési fejléc megjelenítője
private  DefaultTableColumnModel fixoszlopmodell
          Fix oszlopok modellje
private  JTable fixtábla
          Fix táblázat
private  JCheckBox ikonok
          Ikonok megjelenítésének kapcsolója
private  JTableTeszt.Modell modell
          Táblázat adatmodellje
private  boolean növekvő
          Oszloprendezés iránya
private  JComboBox oszlopkiválasztás
          Oszlopok kiválasztási módja
private  DefaultTableColumnModel oszlopmodell
          Görgethető oszlopok modellje
private  TableColumn rendezőoszlop
          Rendezendő oszlop
private static long serialVersionUID
          Verziószám.
private  JComboBox sorkiválasztás
          Sorok kiválasztási módja
private  JCheckBox szerkeszthető
          Táblázat szerkeszthetőségének kapcsolója
private  JTable tábla
          Görgethető táblázat
 
elte.java2_utikalauz5.swing.SwingTeszt osztálytól örökölt mezők
applet_e, DEBUGPARAM, LAF, napló, stílusváltások
 
javax.swing.JApplet osztálytól örökölt mezők
accessibleContext, rootPane, rootPaneCheckingEnabled
 
java.awt.Component osztálytól örökölt mezők
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
java.awt.image.ImageObserver interfésztől örökölt mezők
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Konstruktorok
JTableTeszt()
           
 
Metódusok
 void actionPerformed(ActionEvent ae)
          Gombnyomások kezelése.
 void columnAdded(TableColumnModelEvent tcme)
          Oszlopmodell felvételi eseményének naplózása.
 void columnMarginChanged(ChangeEvent ce)
          Oszlopmodell méretezési eseményének naplózása.
 void columnMoved(TableColumnModelEvent tcme)
          Oszlopmodell mozgatási eseményének naplózása.
 void columnRemoved(TableColumnModelEvent tcme)
          Oszlopmodell törlési eseményének naplózása.
 void columnSelectionChanged(ListSelectionEvent le)
          Oszlopmodell kiválasztási eseményének naplózása.
protected  void felépít()
          GUI felépítése
 String getAppletInfo()
          Applet leírása.
 void itemStateChanged(ItemEvent ie)
          Kiválasztási eseményének kezelése.
static void main(String[] argumentumok)
          Indítás alkalmazásként.
 void mouseClicked(MouseEvent me)
           
 void mouseEntered(MouseEvent me)
           
 void mouseExited(MouseEvent me)
           
 void mousePressed(MouseEvent me)
          Egérkattintás a fejlécre az adott oszlop szerinti rendezést eredményezi.
 void mouseReleased(MouseEvent me)
          Fix oszlopok átméretezését jelző egérfelengedés figyelése.
 void stateChanged(ChangeEvent ce)
          Fixtábla függőleges görgetésekor a táblázat függőleges szinkronizálása.
 void valueChanged(ListSelectionEvent lse)
          Kiválasztások naplózása.
 
elte.java2_utikalauz5.swing.SwingTeszt osztálytól örökölt metódusok
adjustmentValueChanged, getParameterInfo, ikonbetöltés, init, init, naplóz, nyomkövetés, run, stílusváltás
 
javax.swing.JApplet osztálytól örökölt metódusok
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, remove, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
java.applet.Applet osztálytól örökölt metódusok
destroy, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
java.awt.Panel osztálytól örökölt metódusok
addNotify
 
java.awt.Container osztálytól örökölt metódusok
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
java.awt.Component osztálytól örökölt metódusok
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
java.lang.Object osztálytól örökölt metódusok
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Mezők részletezése

serialVersionUID

private static final long serialVersionUID
Verziószám.

Lásd még:
Konstans mezőértékek

modell

private JTableTeszt.Modell modell
Táblázat adatmodellje


oszlopmodell

private DefaultTableColumnModel oszlopmodell
Görgethető oszlopok modellje


tábla

private JTable tábla
Görgethető táblázat


fixoszlopmodell

private DefaultTableColumnModel fixoszlopmodell
Fix oszlopok modellje


fixtábla

private JTable fixtábla
Fix táblázat


sorkiválasztás

private JComboBox sorkiválasztás
Sorok kiválasztási módja


oszlopkiválasztás

private JComboBox oszlopkiválasztás
Oszlopok kiválasztási módja


szerkeszthető

private JCheckBox szerkeszthető
Táblázat szerkeszthetőségének kapcsolója


ikonok

private JCheckBox ikonok
Ikonok megjelenítésének kapcsolója


booleanoszlop

private TableColumn booleanoszlop
Logikai értéket megjelenítő oszlop


rendezőoszlop

private TableColumn rendezőoszlop
Rendezendő oszlop


növekvő

private boolean növekvő
Oszloprendezés iránya


fejléc

private DefaultTableCellRenderer fejléc
Rendezési fejléc megjelenítője

Konstruktorok részletezése

JTableTeszt

public JTableTeszt()
Metódusok részletezése

main

public static void main(String[] argumentumok)
Indítás alkalmazásként.

Paraméterek:
argumentumok - Az indításkor megadott paraméterek.

getAppletInfo

public String getAppletInfo()
Applet leírása.

Felüldefiniálja:
SwingTeszt osztály getAppletInfo metódusát
Visszaadott érték:
A példaprogram leírása

felépít

protected void felépít()
GUI felépítése

Felüldefiniálja:
SwingTeszt osztály felépít metódusát

stateChanged

public void stateChanged(ChangeEvent ce)
Fixtábla függőleges görgetésekor a táblázat függőleges szinkronizálása.

Megvalósítja:
ChangeListener interfész stateChanged metódusát
Paraméterek:
ce - Görgetést jelző esemény.

mousePressed

public void mousePressed(MouseEvent me)
Egérkattintás a fejlécre az adott oszlop szerinti rendezést eredményezi.

Megvalósítja:
MouseListener interfész mousePressed metódusát
Paraméterek:
me - Egéresemény.

mouseReleased

public void mouseReleased(MouseEvent me)
Fix oszlopok átméretezését jelző egérfelengedés figyelése.

Megvalósítja:
MouseListener interfész mouseReleased metódusát
Paraméterek:
me - Egérfelengedési esemény.

mouseClicked

public void mouseClicked(MouseEvent me)
Megvalósítja:
MouseListener interfész mouseClicked metódusát

mouseEntered

public void mouseEntered(MouseEvent me)
Megvalósítja:
MouseListener interfész mouseEntered metódusát

mouseExited

public void mouseExited(MouseEvent me)
Megvalósítja:
MouseListener interfész mouseExited metódusát

valueChanged

public void valueChanged(ListSelectionEvent lse)
Kiválasztások naplózása.

Megvalósítja:
ListSelectionListener interfész valueChanged metódusát
Paraméterek:
lse - Kiválasztási esemény.

actionPerformed

public void actionPerformed(ActionEvent ae)
Gombnyomások kezelése.

Megvalósítja:
ActionListener interfész actionPerformed metódusát
Felüldefiniálja:
SwingTeszt osztály actionPerformed metódusát
Paraméterek:
ae - Gombnyomás esemény.

columnAdded

public void columnAdded(TableColumnModelEvent tcme)
Oszlopmodell felvételi eseményének naplózása.

Megvalósítja:
TableColumnModelListener interfész columnAdded metódusát
Paraméterek:
tcme - Oszlopmodell esemény.

columnRemoved

public void columnRemoved(TableColumnModelEvent tcme)
Oszlopmodell törlési eseményének naplózása.

Megvalósítja:
TableColumnModelListener interfész columnRemoved metódusát
Paraméterek:
tcme - Oszlopmodell esemény.

columnMoved

public void columnMoved(TableColumnModelEvent tcme)
Oszlopmodell mozgatási eseményének naplózása.

Megvalósítja:
TableColumnModelListener interfész columnMoved metódusát
Paraméterek:
tcme - Oszlopmodell esemény.

columnMarginChanged

public void columnMarginChanged(ChangeEvent ce)
Oszlopmodell méretezési eseményének naplózása.

Megvalósítja:
TableColumnModelListener interfész columnMarginChanged metódusát
Paraméterek:
ce - Méretezési esemény.

columnSelectionChanged

public void columnSelectionChanged(ListSelectionEvent le)
Oszlopmodell kiválasztási eseményének naplózása.

Megvalósítja:
TableColumnModelListener interfész columnSelectionChanged metódusát
Paraméterek:
le - Kiválasztási esemény.

itemStateChanged

public void itemStateChanged(ItemEvent ie)
Kiválasztási eseményének kezelése.

Megvalósítja:
ItemListener interfész itemStateChanged metódusát
Paraméterek:
ie - Kiválasztási esemény.

Java 2 Útikalauz programozóknak 5.0