Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Klasse javax.swing.JTable1.2

java.lang.Object
   |
   +--java.awt.Component
         |
         +--java.awt.Container
               |
               +--javax.swing.JComponent
                     |
                     +--javax.swing.JTable

Deklaration

public class JTable
extends javax.swing.JComponent
implements javax.swing.event.TableModelListener, javax.swing.Scrollable, javax.swing.event.TableColumnModelListener, javax.swing.event.ListSelectionListener, javax.swing.event.CellEditorListener, javax.accessibility.Accessible

Beschreibung

Eine JTable dient dazu, zweidimensionale Daten anzuzeigen und zu pflegen. Man kann die JTable über eigene Renderer und Editoren verändern. Jede Tabelle besitzt ein TableModel, welche die Daten liefert. Eine Tabelle mit 10 Zeilen und 10 Spalten kann dabei durch folgenden Code kreiert werden:
 TableModel dataModel = new AbstractTableModel() {
   public int getColumnCount() { return 10; }
   public int getRowCount() { return 10;}
   public Object getValueAt(int row, int col) { return new Integer(row*col); }
 };
 JTable table = new JTable(dataModel);
 JScrollPane scrollpane = new JScrollPane(table);
Wenn eine Tabelle nicht in einer JScrollPane eingebettet sein soll, muss der TableHeader an entsprechender Stelle sperat angezeigt werden.

Bei der Implementierung des TableModel kann man das DefaultTableModel verwenden, welches die Daten in einem Vector aus Vector-Exemplaren speichert. Es empfiehlt sich aber, statt Daten hin und her zu kopieren, seinen eigenen Datenlieferant als Implementierung des TableModel (oder Ableitung des AbstractTableModel) zu modellieren. Bei einfachen Daten, die nicht aus externen Datenquellen gespeist werden (wie bspw. aus einer Datenbank) ist das DefaultTableModel dennoch zu empfehlen.

Zellen werden durch die Zeilen- und Spaltennummer identifiziert, wobei diese Zuordnung nicht verloren geht, wenn der Benutzer die Spalten umsortiert.


 
Datenelemente
public final static intAUTO_RESIZE_OFF
public final static intAUTO_RESIZE_NEXT_COLUMN
public final static intAUTO_RESIZE_SUBSEQUENT_COLUMNS
public final static intAUTO_RESIZE_LAST_COLUMN
public final static intAUTO_RESIZE_ALL_COLUMNS
protected TableModeldataModel
protected TableColumnModelcolumnModel
protected ListSelectionModelselectionModel
protected JTableHeadertableHeader
protected introwHeight
protected introwMargin
protected ColorgridColor
protected booleanshowHorizontalLines
protected booleanshowVerticalLines
protected intautoResizeMode
protected booleanautoCreateColumnsFromModel
protected DimensionpreferredViewportSize
protected booleanrowSelectionAllowed
protected booleancellSelectionEnabled
protected ComponenteditorComp
protected TableCellEditorcellEditor
protected inteditingColumn
protected inteditingRow
protected HashtabledefaultRenderersByColumnClass
protected HashtabledefaultEditorsByColumnClass
protected ColorselectionForeground
protected ColorselectionBackground
 
Konstruktoren
publicJTable()
publicJTable(TableModel dm)
publicJTable(TableModel dm, TableColumnModel cm)
publicJTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
publicJTable(int numRows, int numColumns)
publicJTable(Vector rowData, Vector columnNames)
publicJTable(Object[][] rowData, Object[] columnNames)
 
Methoden
public voidaddNotify()
protected voidconfigureEnclosingScrollPane()
public voidremoveNotify()
protected voidunconfigureEnclosingScrollPane()
public static JScrollPanecreateScrollPaneForTable(JTable aTable)
      Verworfen in Version 1.4.
public voidsetTableHeader(JTableHeader tableHeader)
public JTableHeadergetTableHeader()
public voidsetRowHeight(int rowHeight)
public intgetRowHeight()
public voidsetRowHeight(int row, int rowHeight)
public intgetRowHeight(int row)
public voidsetRowMargin(int rowMargin)
public intgetRowMargin()
public voidsetIntercellSpacing(Dimension intercellSpacing)
public DimensiongetIntercellSpacing()
public voidsetGridColor(Color gridColor)
public ColorgetGridColor()
public voidsetShowGrid(boolean showGrid)
public voidsetShowHorizontalLines(boolean showHorizontalLines)
public voidsetShowVerticalLines(boolean showVerticalLines)
public booleangetShowHorizontalLines()
public booleangetShowVerticalLines()
public voidsetAutoResizeMode(int mode)
public intgetAutoResizeMode()
public voidsetAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
public booleangetAutoCreateColumnsFromModel()
public voidcreateDefaultColumnsFromModel()
public voidsetDefaultRenderer(Class columnClass, TableCellRenderer renderer)
public TableCellRenderergetDefaultRenderer(Class columnClass)
public voidsetDefaultEditor(Class columnClass, TableCellEditor editor)
public TableCellEditorgetDefaultEditor(Class columnClass)
public voidsetDragEnabled(boolean b)     [1.4]
public booleangetDragEnabled()     [1.4]
public voidsetSelectionMode(int selectionMode)
public voidsetRowSelectionAllowed(boolean rowSelectionAllowed)
public booleangetRowSelectionAllowed()
public voidsetColumnSelectionAllowed(boolean columnSelectionAllowed)
public booleangetColumnSelectionAllowed()
public voidsetCellSelectionEnabled(boolean cellSelectionEnabled)
public booleangetCellSelectionEnabled()
public voidselectAll()
public voidclearSelection()
public voidsetRowSelectionInterval(int index0, int index1)
public voidsetColumnSelectionInterval(int index0, int index1)
public voidaddRowSelectionInterval(int index0, int index1)
public voidaddColumnSelectionInterval(int index0, int index1)
public voidremoveRowSelectionInterval(int index0, int index1)
public voidremoveColumnSelectionInterval(int index0, int index1)
public intgetSelectedRow()
public intgetSelectedColumn()
public int[]getSelectedRows()
public int[]getSelectedColumns()
public intgetSelectedRowCount()
public intgetSelectedColumnCount()
public booleanisRowSelected(int row)
public booleanisColumnSelected(int column)
public booleanisCellSelected(int row, int column)
public voidchangeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
public ColorgetSelectionForeground()
public voidsetSelectionForeground(Color selectionForeground)
public ColorgetSelectionBackground()
public voidsetSelectionBackground(Color selectionBackground)
public TableColumngetColumn(Object identifier)
public intconvertColumnIndexToModel(int viewColumnIndex)
public intconvertColumnIndexToView(int modelColumnIndex)
public intgetRowCount()
public intgetColumnCount()
public StringgetColumnName(int column)
public ClassgetColumnClass(int column)
public ObjectgetValueAt(int row, int column)
public voidsetValueAt(Object aValue, int row, int column)
public booleanisCellEditable(int row, int column)
public voidaddColumn(TableColumn aColumn)
public voidremoveColumn(TableColumn aColumn)
public voidmoveColumn(int column, int targetColumn)
public intcolumnAtPoint(Point point)
public introwAtPoint(Point point)
public RectanglegetCellRect(int row, int column, boolean includeSpacing)
public voiddoLayout()
public voidsizeColumnsToFit(boolean lastColumnOnly)
      Verworfen in Version 1.4.
public voidsizeColumnsToFit(int resizingColumn)
public StringgetToolTipText(MouseEvent event)
public voidsetSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
public booleangetSurrendersFocusOnKeystroke()
public booleaneditCellAt(int row, int column)
public booleaneditCellAt(int row, int column, EventObject e)
public booleanisEditing()
public ComponentgetEditorComponent()
public intgetEditingColumn()
public intgetEditingRow()
public TableUIgetUI()
public voidsetUI(TableUI ui)
public voidupdateUI()
public StringgetUIClassID()
public voidsetModel(TableModel dataModel)
public TableModelgetModel()
public voidsetColumnModel(TableColumnModel columnModel)
public TableColumnModelgetColumnModel()
public voidsetSelectionModel(ListSelectionModel newModel)
public ListSelectionModelgetSelectionModel()
public voidtableChanged(TableModelEvent e)
public voidcolumnAdded(TableColumnModelEvent e)
public voidcolumnRemoved(TableColumnModelEvent e)
public voidcolumnMoved(TableColumnModelEvent e)
public voidcolumnMarginChanged(ChangeEvent e)
public voidcolumnSelectionChanged(ListSelectionEvent e)
public voidvalueChanged(ListSelectionEvent e)
public voideditingStopped(ChangeEvent e)
public voideditingCanceled(ChangeEvent e)
public voidsetPreferredScrollableViewportSize(Dimension size)
public DimensiongetPreferredScrollableViewportSize()
public intgetScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
public intgetScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
public booleangetScrollableTracksViewportWidth()
public booleangetScrollableTracksViewportHeight()
protected booleanprocessKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
protected voidcreateDefaultRenderers()
protected voidcreateDefaultEditors()
protected voidinitializeLocalVars()
protected TableModelcreateDefaultDataModel()
protected TableColumnModelcreateDefaultColumnModel()
protected ListSelectionModelcreateDefaultSelectionModel()
protected JTableHeadercreateDefaultTableHeader()
protected voidresizeAndRepaint()
public TableCellEditorgetCellEditor()
public voidsetCellEditor(TableCellEditor anEditor)
public voidsetEditingColumn(int aColumn)
public voidsetEditingRow(int aRow)
public TableCellRenderergetCellRenderer(int row, int column)
public ComponentprepareRenderer(TableCellRenderer renderer, int row, int column)
public TableCellEditorgetCellEditor(int row, int column)
public ComponentprepareEditor(TableCellEditor editor, int row, int column)
public voidremoveEditor()
protected StringparamString()
public AccessibleContextgetAccessibleContext()


 

Datenelemente im Detail

public final static int AUTO_RESIZE_OFF
Konstante, die besagt, dass die Spatenbreite nicht automatisch angepasst wird.
public final static int AUTO_RESIZE_NEXT_COLUMN
Wenn eine Spaltenbreite verändert wird, wird die nächste Spalte umgekehrt proportional skaliert.
public final static int AUTO_RESIZE_SUBSEQUENT_COLUMNS
Wenn eine Spaltenbreite verändert wird, werden die nächsten Spalten entsprechend umgekehrt proportional skaliert, so dass die Gesamtbreite konstant bleibt. Dies ist der Standard für eine JTable.
public final static int AUTO_RESIZE_LAST_COLUMN
Wenn eine Spaltenbreite verädert wird, wird nur die letzte Spalte in der Breite umgekehrt proportional skaliert.
public final static int AUTO_RESIZE_ALL_COLUMNS
Wenn eine Spalte verädert wird, werden alle Spalten entsprechend umgekehrt proportional skaliert.
protected TableModel dataModel
Das TableModel dieser Tabelle.
protected TableColumnModel columnModel
Das TableColumnModel dieser Tabelle.
protected ListSelectionModel selectionModel
Das ListSelectionModel der Tabelle.
protected JTableHeader tableHeader
Der JTableHeader der Tabelle.
protected int rowHeight
Die Höhe einer Zeile in Pixeln.
protected int rowMargin
Die Höhe des Randes zwischen Zellen in Pixeln.
protected Color gridColor
Die Farbe der Gitterlinien.
protected boolean showHorizontalLines
Sagt, ob horizontale Linien zwischen den Zellen gemalt werden sollen.
protected boolean showVerticalLines
Sagt, ob vertikale Linien zwischen den Zellen gemalt werden sollen.
protected int autoResizeMode
Besagt, nach welcher Strategie andere Spalten skaliert werden sollen, wenn sich eine Spalte in der Breite verändert.
protected boolean autoCreateColumnsFromModel
Die Tabelle wird bei positiven Wert dieses Attributes das TableModel instruieren, die Standard-Menge an Spalten zu kreieren.
protected Dimension preferredViewportSize
Benutzt vom Scrollable-Interface, um den initial-sichtbaren Bereich festzulegen.
protected boolean rowSelectionAllowed
Sagt, ob Zeilenselektion in dieser Tabelle erlaubt ist.
protected boolean cellSelectionEnabled
Überholt seit 1.3. Anstatt dessen die Attribute rowSelectionAllowed und columnSelectionAllowed vom columnModel bzw. die Methode getCellSelectionEnabled verwenden.
protected Component editorComp
Wenn im Editiermodus, wird in diesem Attribut die Referenz auf die Editierkomponente gespeichert.
protected TableCellEditor cellEditor
Der Editor.
protected int editingColumn
Liefert beim Editiervorgang die zu editierende Spalte.
protected int editingRow
Liefert beim Editiervorgang die zu editierende Zeile.
protected Hashtable defaultRenderersByColumnClass
Eine Hashtable, die die Zuordnung von Klassen (über die Methode getColumnClass des TableModel) zu Renderern speichert.
protected Hashtable defaultEditorsByColumnClass
Eine Hashtable, die die Zuordnung von Klassen (über die Methode getColumnClass des TableModel) zu Editoren speichert.
protected Color selectionForeground
Die Vordergrundfarbe der selektierten Zellen.
protected Color selectionBackground
Die Hintergrundfarbe der selektierten Zellen.

 

Konstruktoren im Detail

public JTable()
Konstruiert eine Standard-JTable, die mit den Standard-Modells initiert wird.
public JTable(TableModel dm)
Konstruiert eine JTable mit dem angegebenen Datenmodell.
public JTable(TableModel dm, TableColumnModel cm)
Konstruiert eine JTable mit dem angegebenen Datenmodell und TableColumnModel.
public JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
Konstruiert eine JTable mit dem angegebenen Modells.
public JTable(int numRows, int numColumns)
Konstruiert eine JTable mit der angegebenen Anzahl Spalten und Zeilen. Es werden leere Zelle kreiert, wobei die Spaltennamen »A«, »B«, »C« usw. heissen.
public JTable(Vector rowData, Vector columnNames)
Konstruiert eine JTable mit den Daten aus dem angegebenen Vector aus Vector-Exemplaren und den Spaltennamen.

Das Datum für die Zelle der Reihe 1 und der Spalte 5 kann dabei folgendermaßen herausgefunden werden:
((Vector)rowData.elementAt(1)).elementAt(5);
public JTable(Object[][] rowData, Object[] columnNames)
Konstriert eine JTable mit dem angegebenen Array an Daten und Spaltennamen. Das Datum für Zeile 1 und Spalte 5 kann durch folgenden Aufruf bestimmt werden:
 rowData[1][5];

 

Methoden im Detail

public void addNotify()
Ruft die Methode configureEnclosingScrollPane auf.
protected void configureEnclosingScrollPane()
Wenn diese Tabelle die viewportView einer JScrollPane ist (typischerweise der Fall), wird die JScrollPane initialisiert (bspw. Setzen des JTableHeader).
public void removeNotify()
Ruft die Methode unconfigureEnclosingScrollPane auf.
protected void unconfigureEnclosingScrollPane()
Revidiert die Auswirkungen der configureEnclosingScrollPane-Methode.
public static JScrollPane createScrollPaneForTable(JTable aTable)
Äquivalent zu
new JScrollPane(aTable)
.
public void setTableHeader(JTableHeader tableHeader)
Setzt den tableHeader (darf nicht gleich null sein).
public JTableHeader getTableHeader()
Liefert den tableHeader dieser Tabelle.
public void setRowHeight(int rowHeight)
Setzt die Höhe aller Zeilen in Pixeln. Die Höhe der Zellen berechnet sich aus Zeilenhöhen minus dem Zeilenrand (margin).
public int getRowHeight()
Liefert die Höhe einer Tabellenzeile in Pixeln. Der Standardwert beträgt 16 Pixel.
public void setRowHeight(int row, int rowHeight)
Setzt die Höhe der angegebenen Zeile in Pixeln.
public int getRowHeight(int row)
Liefert die Höhe der angegebenen Zeile in Pixeln.
public void setRowMargin(int rowMargin)
Setzt den Platz zwischen zwei Zeilen in Pixeln.
public int getRowMargin()
Liefert die Platz zwischen zwei Zeilen in Pixeln. Äquivalent zu getIntercellSpacing().height.
public void setIntercellSpacing(Dimension intercellSpacing)
Setzt das rowMargin- und das columnMargin-Attribut, der Rand um die Reihen und Spalten.
public Dimension getIntercellSpacing()
Liefert den vertikalen und horizontalen Abstand zwischen den Zellen.
public void setGridColor(Color gridColor)
Setzt die Farbe der Gitterlinien zwischen den Zellen. Die vordefinierte Farbe hängt vom Look-and-Feel ab.
public Color getGridColor()
Liefert die Farbe der Gitterlinien zwischen den Zellen. Die Standard-Farbe hängt vom Look-and-Feel ab.
public void setShowGrid(boolean showGrid)
Setzt, ob die Gitterlinien angezeigt werden sollen.
public void setShowHorizontalLines(boolean showHorizontalLines)
Setzt, ob horizontale Linien zwischen den Zeilen gezeichnet werden sollen.
public void setShowVerticalLines(boolean showVerticalLines)
Setzt, ob vertikale Linien gezeichnet werden sollen.
public boolean getShowHorizontalLines()
Liefert die Aussage, ob horizontale Linien zwischen den Zellen gezeichnet werden.
public boolean getShowVerticalLines()
Liefert die Aussage, ob vertikale Linien zwischen den Zellen gezeichnet werden.
public void setAutoResizeMode(int mode)
Setzt die Strategie, wie bei Veränderungen der Spalten die anderen Spalten skaliert werden sollen. Der Wert muss eine der vordefinierten Konstanten AUTO_RESIZE_OFF, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_SUBSEQUENT_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_ALL_COLUMNS sein.
public int getAutoResizeMode()
Liefert die Strategie, wie bei Veränderungen der Spalten die anderen Spalten skaliert werden sollen.
public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
Setzt das Attribut autoCreateColumnsFromModel. Wenn der Wert von false auf true geändert wird, wird createDefaultColumnsFromModel aufgerufen.
public boolean getAutoCreateColumnsFromModel()
Liefert die Aussage, ob die Tabelle Spalten gemäß des Models kreiert. Wenn true, werden beim Aufruf von setModel bzw. bei einem tableChanged-Event die Spalten neu aufgebaut.
public void createDefaultColumnsFromModel()
Erzeugt Standard-Spalten für die Tabelle vom Datenmodell (über die Methode getColumnCount). Löscht dabei vorher alle bestehenden Spalten.
public void setDefaultRenderer(Class columnClass, TableCellRenderer renderer)
Setzt den Renderer für die angegebene Klasse. Wenn der Renderer null ist, wird der Standard-Renderer verwendet.
public TableCellRenderer getDefaultRenderer(Class columnClass)
Liefert den Renderer zur angegebenen Klasse. Wenn kein passender Renderer gefunden wird, wird überprüft, ob es einen Renderer für eine Oberklasse gibt, bis mind. ein Renderer für die Klassen Object, Number und Boolean gefunden wird.
public void setDefaultEditor(Class columnClass, TableCellEditor editor)
Setzt den Editor zur angegebenen Klasse.
public TableCellEditor getDefaultEditor(Class columnClass)
Liefert den Editor zur angegebenen Klasse. Wenn zur konkreten Klasse kein Editor gefunden werden konnte, werden die Oberklassen der angegebenen Klasse überprüft, bis ggf. nur die vordefinierten Editoren für Object, Number und Boolean zur Verfügung stehen.
public void setDragEnabled(boolean b)     [1.4]
Setzt das dragEnabled-Attribut (standardmäßig auf false), welches automatisches Drag-and-Drop aktiviert. Hierzu muss allerdings auch ein transferHandler angegeben sein. Der Drag-and-Drop-Support kann dabei das Selektionsverhalten beeinflussen.
public boolean getDragEnabled()     [1.4]
Liefert den Wert des dragEnabled-Attributes.
public void setSelectionMode(int selectionMode)
Setzt den Selektionsmodus auf einer der in ListSelectionModel vordefinierten Konstanten SINGLE_SELECTION, SINGLE_INTERVAL_SELECTION, MULTIPLE_INTERVAL_SELECTION.
public void setRowSelectionAllowed(boolean rowSelectionAllowed)
Gibt an, ob Zeilen selektiert werden können.
public boolean getRowSelectionAllowed()
Liefert die Aussage, ob Zeilen selektiert werden koe;nnen.
public void setColumnSelectionAllowed(boolean columnSelectionAllowed)
Gibt an, ob Spalten selektiert werden können.
public boolean getColumnSelectionAllowed()
Liefert die Aussage, ob Spalten selektiert werden können.
public void setCellSelectionEnabled(boolean cellSelectionEnabled)
Gibt an, ob die Tabelle Zeilen- und Spalten-Selektion gleichtzeitig erlaubt. Der Aufruf der Methode ist also äquivalent zum Setzen der beiden Attribute rowSelectionAllowed und columnSelectionAllowed auf true.
public boolean getCellSelectionEnabled()
Liefert die Aussage, ob Zeilen- und Reihenselektion erlaubt sind.
public void selectAll()
Selektiert alle Zeilen, Spalten und Zellen in der Tabelle.
public void clearSelection()
Unselektiert alle Spalten und Zeilen.
public void setRowSelectionInterval(int index0, int index1)
Seleketiert das angegebene Intervall, inklusive der angegebenen Zeilen.
public void setColumnSelectionInterval(int index0, int index1)
Selektiert den angegebene Bereich, inklusive der angegebenen Spalten.
public void addRowSelectionInterval(int index0, int index1)
Fügt die angebenen Zeilen zur Selektion hinzu, inklusive der angegebenen Zeilen.
public void addColumnSelectionInterval(int index0, int index1)
Fügt die angegebenen Spalten zur Selektion hinzu.
public void removeRowSelectionInterval(int index0, int index1)
Deselektiert den angegebenen Bereich, einschließlich der angegebenen Zeilen.
public void removeColumnSelectionInterval(int index0, int index1)
Deselektiert den angegebenen Bereich, inklusive der angegebenen Spalten.
public int getSelectedRow()
Liefert den Index der als erstes selektierten Zeile oder -1, wenn keine Zeile selektiert ist.
public int getSelectedColumn()
Liefert den Index der ersten selektierten Spalte, oder -1, wenn keine Spalte selektiert ist.
public int[] getSelectedRows()
Liefert ein Array der Indizes der selektierten Zeilen.
public int[] getSelectedColumns()
Liefert ein Array der Indizes der selektierten Spalten.
public int getSelectedRowCount()
Liefert die Anzahl der selekierten Zeilen.
public int getSelectedColumnCount()
Liefert die Anzahl der selektierten Spalten.
public boolean isRowSelected(int row)
Liefert true, wenn die angegebene Zeile selektiert ist (0 ist die erste Zeile).
public boolean isColumnSelected(int column)
Liefert true, wenn die angegebene Spalte selektiert ist (0 ist die erste Spalte).
public boolean isCellSelected(int row, int column)
Liefert true, wenn die die angegebene Zelle selektiert ist.
public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
Aktualisiert die Selektion der Tabelle in Abhängigkeit der zwei angegebenen Flags. Alle Änderungen der Selektion werden durch diese Methode durchgeschleust (Maus oder Keyboard), so dass man leicht die Methode überschreiben kann.

Wenn toggle false und extend false sind, wird die Selektion gelöscht und die angegebenen Zelle selektiert.

Wenn toggle false und extend true sind, wird die Selektion um die angegebene Zelle erweitert.

Wenn toggle true und extend false ist, wird, wenn die angegebene Zelle selektiert ist, diese deselektiert. Wenn die Zelle hingegenen nicht selektiert ist, wird sie selektiert.

Wenn toggle true und extend true ist, wird die Selektion so gelassen wie sie ist; jedoch wird der Anker auf die entsprechende Stelle verschoben.
public Color getSelectionForeground()
Liefert die Vordergrundfarbe der selektierten Zellen.
public void setSelectionForeground(Color selectionForeground)
Setzt die Vordergrundfarbe der selektierten Zellen.
public Color getSelectionBackground()
Liefert die Hintergrundfarbe der selektierten Zellen.
public void setSelectionBackground(Color selectionBackground)
Setzt die Hintergrundfarbe der selektierten Zellen.
public TableColumn getColumn(Object identifier)
Liefert die TableColumn zum angegebenen Identifizier-Objekt (typischerweise ein String).
public int convertColumnIndexToModel(int viewColumnIndex)
Liefert den Spalten-Index des Models, wenn der Index der View angegeben wird.
public int convertColumnIndexToView(int modelColumnIndex)
Liefert den Spalten-Index der View, wenn der Index des Models angegeben wird.
public int getRowCount()
Liefert die Anzahl der Spalten.
public int getColumnCount()
Liefert die Anzahl der Spalten.
public String getColumnName(int column)
Liefert den Namen der Spalte des angegebenen View-Spaltenindex.
public Class getColumnClass(int column)
Liefert die Spalten-Klasse des angegebenen View-Spaltenindex.
public Object getValueAt(int row, int column)
Liefert den Wert an den angegeben View-Koordinaten.
public void setValueAt(Object aValue, int row, int column)
Setzt den angegebenen Wert an den angegebenen View-Koordinaten.
public boolean isCellEditable(int row, int column)
Liefert true, wenn die in View-Koordinaten angegebene Zelle editierbar ist.
public void addColumn(TableColumn aColumn)
Fügt die angegebene Spalte hinzu.
public void removeColumn(TableColumn aColumn)
Entfernt die angegebene Spalte.
public void moveColumn(int column, int targetColumn)
Bewegt die angegebene Spalte zum Platz der Zielspalte (Indizes bezogen auf die View).
public int columnAtPoint(Point point)
Liefert die Spalte an dem angegebenen Punkt.
public int rowAtPoint(Point point)
Liefert die Zeilennummer an dem angegebenen Punkt.
public Rectangle getCellRect(int row, int column, boolean includeSpacing)
Liefert das Rechteck der Zelle an den angegebenen Koordinaten. Wenn includeSpacing als false übergeben wird, ist das Ergebnis das Produkt der Höhe und Breite der Zelle minus dem internen Abstand zum Rand.
public void doLayout()
Bewegt die Tabelle dazu, ihre Zeilen und Spalten zu layouten. Es werden eine oder mehrere Spalten in der Breite verändert, so dass die Breite der Tabelle der entsprechenden Regel entspricht. Bevor der Layout-Vorgang anfängt holt sich die Tabelle die resizingColumn vom tableHeader. Wenn dieses Attribut null ist, wurde die Tabelle durch das umgebene Fenster in der Größe verändert. Die Modi für das Ändern der Größen der Tabelle durch das Skalieren einer Spalte sind:
public void sizeColumnsToFit(boolean lastColumnOnly)
Ersetzt durch die Methode doLayoutxs.
public void sizeColumnsToFit(int resizingColumn)
Seit 1.4 durch die Methode doLayout ersetzt.
public String getToolTipText(MouseEvent event)
Liefert den Tooltip. Überschrieben, um den Renderer abzufragen. Dazu muss sich der Renderer beim ToolTipManager registrieren.
public void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
Setzt, ob die Editoren den Keyboard Fokus bekommen soll, wenn der Editor aktiviert wird. Standardmäßig ist die Property false, so dass die Tabelle nur durch einen Klick den Fokus verliert.
public boolean getSurrendersFocusOnKeystroke()
Liefert true, wenn der Editor den Fokus bekommen soll, wenn ein Tastendruck den Editor aktiviert. Standard ist false.
public boolean editCellAt(int row, int column)
Startet den Editiervorgang programmtechnisch, wenn die angegebene Zelle editierbar ist (also das TableModel bei isCellEditable true zurückliefert).
public boolean editCellAt(int row, int column, EventObject e)
Startet den Editiervorgang programmtechnisch, wenn die angegebene Zell editierbar ist (also das TableModel bei isCellEditable true zurückliefert).
public boolean isEditing()
Liefert true, wenn ein Editiervorgang gerade läuft.
public Component getEditorComponent()
Liefert die Komponente, die bei dem aktuellen Editiervorgang eingesetzt wird.
public int getEditingColumn()
Liefert die Spalte, bei der aktuell ein Editiervorgang stattfindet bzw. -1, wenn keine Zelle editiert wird.
public int getEditingRow()
Liefert die Zeile, bei der der aktuell ein Editiervorgang stattfindet bzw. -1, wenn keine Zelle editiert wird.
public TableUI getUI()
Liefert das Look-and-Feel Objekt, welches diese Tabelle rendert.
public void setUI(TableUI ui)
Setzt das Look-and-Feel-Objekt.
public void updateUI()
Wird vom UIManager aufgerufen, wenn sich das Look-and-Feel geändert hat.
public String getUIClassID()
Liefert den Suffix, der benutzt wird, um den Namen der Look-and-Feel-Klasse zu bekommen.
public void setModel(TableModel dataModel)
Setzt das Datenmodell dieser Tabelle und veranlasst die Tabelle, sich bei dem Modell zu registrieren.
public TableModel getModel()
Liefert das Datenmodell dieser Tabelle.
public void setColumnModel(TableColumnModel columnModel)
Setzt das ColumnModel dieser Tabelle.
public TableColumnModel getColumnModel()
Liefert das TableColumnModel.
public void setSelectionModel(ListSelectionModel newModel)
Setzt das ListSelectionModel.
public ListSelectionModel getSelectionModel()
Liefert das ListSelectionModel.
public void tableChanged(TableModelEvent e)
Wird aufgerufen, wenn das TableModel einen TableModelEvent generiert hat. Seit 1.3 löscht diese Methode die Selektion der Tabelle. Diese Methode wird intern benutzt.
public void columnAdded(TableColumnModelEvent e)
Wird aufgerufen, wenn eine Spalte zum TableColumnModel hinzugefügt wurde. Diese Methode wird intern benutzt.
public void columnRemoved(TableColumnModelEvent e)
Wird aufgerufen, wenn eine Spalte vom TableColumnModel entfernt wurde. Diese Methode wird intern benutzt.
public void columnMoved(TableColumnModelEvent e)
Wird aufgerufen, wenn eine Spalte verschoben wurde. Diese Methode wird intern benutzt.
public void columnMarginChanged(ChangeEvent e)
Wird aufgerufen, wenn sich der Rand einer Spalte verä:ndert hat. In diesem Fall wird ein Editiervorgang abgebrochen. Diese Methode wird intern benutzt.
public void columnSelectionChanged(ListSelectionEvent e)
Wird aufgerufen, wenn die Selektion geändert wurde. Diese Methode wird intern benutzt.
public void valueChanged(ListSelectionEvent e)
Wird aufgerufen, wenn die Zeilenselektion sich ändert - die Tabelle wird neu gezeichnet. Diese Methode wird intern benutzt.
public void editingStopped(ChangeEvent e)
Wird aufgerufen, wenn der Editiervorgang erfolgreich beendet wurde. Die Änderung wird im Datenmodell abgespeichert und der Editor wird verworfen. Diese Methode wird intern benutzt.
public void editingCanceled(ChangeEvent e)
Wird aufgerufen, wenn der Editiervorgang abgebrochen wurde. Hierbei wird der Editor verworfen und keine Änderungen gespeichert.
public void setPreferredScrollableViewportSize(Dimension size)
Setzt die präferierte Größe der Viewport.
public Dimension getPreferredScrollableViewportSize()
Liefert die präferierte Größe der Viewport.
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Liefert das Scroll-Increment (in Pixeln), welches der Höhe einer Zeile bzw. der Breite einer Spalte (je nach Scroll-Orientierung) entspricht.
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Liefert visibleRect.height bzw. visibleRect.width, je nach Orientierung der Scrollbar.
public boolean getScrollableTracksViewportWidth()
Liefert false, wenn der autoResizeMode auf AUTO_RESIZE_OFF steht, was aussagt, dass die Breite der Viewport nicht die Breite der Tabelle bestimmt.
public boolean getScrollableTracksViewportHeight()
Liefert false um anzuzeigen, dass die Höhe der Viewport nicht die Höhe der Tabelle bestimmt.
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
protected void createDefaultRenderers()
Erzeugt die Standard-Renderer für die Klassen Object, Number, Double, Date, Boolean und Icon.
protected void createDefaultEditors()
Erzeugt die Standard Editoren für die Klassen Object, Number und Boolean.
protected void initializeLocalVars()
Initialisiert die Attribute der Tabelle.
protected TableModel createDefaultDataModel()
Liefert das Standard TableModel (DefaultTableModel). Eine abgeleitete Klasse kann dabei durch Überschreiben dieser Methode das Modell der Tabelle ändern.
protected TableColumnModel createDefaultColumnModel()
Liefert das Standard-ColumnModel (DefaultTableColumnModel). Eine abgeleitete Klasse kann dabei durch Überschreiben dieser Methode das Modell der Tabelle ändern.
protected ListSelectionModel createDefaultSelectionModel()
Liefert das Standard-SelectionModel (DefaultListSelectionModel). Eine abgeleitete Klasse kann dabei durch Überschreiben dieser Methode das Modell der Tabelle ändern.
protected JTableHeader createDefaultTableHeader()
Liefert den Standard-TableHeader (JTableHeader). Eine abgeleitete Klasse kann dabei durch Überschreiben dieser Methode das Modell der Tabelle ändern.
protected void resizeAndRepaint()
Äquivalent zu revalidate und einem nachfolgenden repaint.
public TableCellEditor getCellEditor()
Liefert ggf. den aktuellen Editor.
public void setCellEditor(TableCellEditor anEditor)
Setzt die cellEditor-Variable.
public void setEditingColumn(int aColumn)
Setzt das editingColumn-Attribut.
public void setEditingRow(int aRow)
Setzt das editingRow-Attribut.
public TableCellRenderer getCellRenderer(int row, int column)
Liefert den Renderer zur angegebenen Zelle. Wenn die TableColumn keinen anbietet, wird ein Renderer über getColumnClass() des TableModel gesucht. Diese Methode kann leicht überschrieben werden.
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
Präpariert den Renderer, indem das Modell nach dem Wert und dem Selektionsstatus der Zelle gefragt wird.
public TableCellEditor getCellEditor(int row, int column)
Liefert den passenden Editor. Entweder durch einen gesetzten Editor im TableColumn oder durch Suche nach dem passenden Editor zur getColumnClass()-Methode im TableModel.
public Component prepareEditor(TableCellEditor editor, int row, int column)
Präpariert den Editor durch Abfrage des Wertes und des Selektionsstatus beim jeweiligen Modell.
public void removeEditor()
Entfernt den Editor.
protected String paramString()
Liefert eine String-Repräsenation dieser Tabelle. Dieser Methode dient zum Debuggen und das Ergebnis kann bei verschiedenen Implementierungen variieren.
public AccessibleContext getAccessibleContext()
Liefert das AccessibleContext-Exemplar zu der JTable.


 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.