Class EventTableColumnModel<T extends javax.swing.table.TableColumn>
- java.lang.Object
-
- ca.odell.glazedlists.swing.EventTableColumnModel<T>
-
- All Implemented Interfaces:
ListEventListener<T>,java.beans.PropertyChangeListener,java.util.EventListener,javax.swing.event.ListSelectionListener,javax.swing.table.TableColumnModel
public class EventTableColumnModel<T extends javax.swing.table.TableColumn> extends java.lang.Object implements javax.swing.table.TableColumnModel, java.beans.PropertyChangeListener, javax.swing.event.ListSelectionListener, ListEventListener<T>
ATableColumnModelthat holds anEventList. Each element of the list corresponds to aTableColumnin the model.The EventTableColumnModel class is not thread-safe. Unless otherwise noted, all methods are only safe to be called from the event dispatch thread. To do this programmatically, use
SwingUtilities.invokeAndWait(Runnable).- Author:
- James Lemieux
-
-
Field Summary
Fields Modifier and Type Field Description protected TransformedList<T,T>swingThreadSourcethe proxy moves events to the Swing Event Dispatch thread
-
Constructor Summary
Constructors Constructor Description EventTableColumnModel(EventList<T> source)Creates a new model that contains theTableColumnobjects from the givensource.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddColumn(javax.swing.table.TableColumn column)voidaddColumnModelListener(javax.swing.event.TableColumnModelListener listener)protected javax.swing.ListSelectionModelcreateSelectionModel()Creates a new default list selection model.voiddispose()Releases the resources consumed by thisEventTableColumnModelso that it may eventually be garbage collected.protected voidfireColumnAdded(javax.swing.event.TableColumnModelEvent e)protected voidfireColumnMarginChanged()protected voidfireColumnMoved(javax.swing.event.TableColumnModelEvent e)protected voidfireColumnRemoved(javax.swing.event.TableColumnModelEvent e)protected voidfireColumnSelectionChanged(javax.swing.event.ListSelectionEvent e)javax.swing.table.TableColumngetColumn(int columnIndex)intgetColumnCount()intgetColumnIndex(java.lang.Object identifier)intgetColumnIndexAtX(int x)intgetColumnMargin()java.util.Enumeration<javax.swing.table.TableColumn>getColumns()booleangetColumnSelectionAllowed()intgetSelectedColumnCount()int[]getSelectedColumns()javax.swing.ListSelectionModelgetSelectionModel()intgetTotalColumnWidth()voidlistChanged(ListEvent<T> listChanges)When the underlying list changes, this notification allows the object to repaint itself or update itself as necessary.voidmoveColumn(int columnIndex, int newIndex)voidpropertyChange(java.beans.PropertyChangeEvent evt)Watch for changes to the column width or preferred column width and trigger a relayout of the table header when they change.voidremoveColumn(javax.swing.table.TableColumn column)voidremoveColumnModelListener(javax.swing.event.TableColumnModelListener listener)voidsetColumnMargin(int newMargin)voidsetColumnSelectionAllowed(boolean flag)voidsetSelectionModel(javax.swing.ListSelectionModel newModel)voidvalueChanged(javax.swing.event.ListSelectionEvent e)
-
-
-
Field Detail
-
swingThreadSource
protected TransformedList<T extends javax.swing.table.TableColumn,T extends javax.swing.table.TableColumn> swingThreadSource
the proxy moves events to the Swing Event Dispatch thread
-
-
Method Detail
-
addColumn
public void addColumn(javax.swing.table.TableColumn column)
- Specified by:
addColumnin interfacejavax.swing.table.TableColumnModel
-
removeColumn
public void removeColumn(javax.swing.table.TableColumn column)
- Specified by:
removeColumnin interfacejavax.swing.table.TableColumnModel
-
moveColumn
public void moveColumn(int columnIndex, int newIndex)- Specified by:
moveColumnin interfacejavax.swing.table.TableColumnModel
-
setColumnMargin
public void setColumnMargin(int newMargin)
- Specified by:
setColumnMarginin interfacejavax.swing.table.TableColumnModel
-
getColumnMargin
public int getColumnMargin()
- Specified by:
getColumnMarginin interfacejavax.swing.table.TableColumnModel
-
getColumnCount
public int getColumnCount()
- Specified by:
getColumnCountin interfacejavax.swing.table.TableColumnModel
-
getColumns
public java.util.Enumeration<javax.swing.table.TableColumn> getColumns()
- Specified by:
getColumnsin interfacejavax.swing.table.TableColumnModel
-
getColumnIndex
public int getColumnIndex(java.lang.Object identifier)
- Specified by:
getColumnIndexin interfacejavax.swing.table.TableColumnModel
-
getColumn
public javax.swing.table.TableColumn getColumn(int columnIndex)
- Specified by:
getColumnin interfacejavax.swing.table.TableColumnModel
-
getColumnIndexAtX
public int getColumnIndexAtX(int x)
- Specified by:
getColumnIndexAtXin interfacejavax.swing.table.TableColumnModel
-
getTotalColumnWidth
public int getTotalColumnWidth()
- Specified by:
getTotalColumnWidthin interfacejavax.swing.table.TableColumnModel
-
setColumnSelectionAllowed
public void setColumnSelectionAllowed(boolean flag)
- Specified by:
setColumnSelectionAllowedin interfacejavax.swing.table.TableColumnModel
-
getColumnSelectionAllowed
public boolean getColumnSelectionAllowed()
- Specified by:
getColumnSelectionAllowedin interfacejavax.swing.table.TableColumnModel
-
getSelectedColumns
public int[] getSelectedColumns()
- Specified by:
getSelectedColumnsin interfacejavax.swing.table.TableColumnModel
-
getSelectedColumnCount
public int getSelectedColumnCount()
- Specified by:
getSelectedColumnCountin interfacejavax.swing.table.TableColumnModel
-
setSelectionModel
public void setSelectionModel(javax.swing.ListSelectionModel newModel)
- Specified by:
setSelectionModelin interfacejavax.swing.table.TableColumnModel
-
getSelectionModel
public javax.swing.ListSelectionModel getSelectionModel()
- Specified by:
getSelectionModelin interfacejavax.swing.table.TableColumnModel
-
addColumnModelListener
public void addColumnModelListener(javax.swing.event.TableColumnModelListener listener)
- Specified by:
addColumnModelListenerin interfacejavax.swing.table.TableColumnModel
-
removeColumnModelListener
public void removeColumnModelListener(javax.swing.event.TableColumnModelListener listener)
- Specified by:
removeColumnModelListenerin interfacejavax.swing.table.TableColumnModel
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
Watch for changes to the column width or preferred column width and trigger a relayout of the table header when they change.- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)
- Specified by:
valueChangedin interfacejavax.swing.event.ListSelectionListener
-
listChanged
public void listChanged(ListEvent<T> listChanges)
Description copied from interface:ListEventListenerWhen the underlying list changes, this notification allows the object to repaint itself or update itself as necessary.It is mandatory that the calling thread has obtained the write lock on the source list. This is because the calling thread will have written to the source list to cause this event. This condition guarantees that no writes can occur while the listener is handling this event. It is an error to write to the source list while processing an event.
- Specified by:
listChangedin interfaceListEventListener<T extends javax.swing.table.TableColumn>- Parameters:
listChanges- aListEventdescribing the changes to the list
-
dispose
public void dispose()
Releases the resources consumed by thisEventTableColumnModelso that it may eventually be garbage collected.An
EventTableColumnModelwill be garbage collected without a call todispose(), but not before its sourceEventListis garbage collected. By callingdispose(), you allow theEventTableColumnModelto be garbage collected before its sourceEventList. This is necessary for situations where anEventTableColumnModelis short-lived but its sourceEventListis long-lived.Warning: It is an error to call any method on an
EventTableColumnModelafter it has been disposed.
-
createSelectionModel
protected javax.swing.ListSelectionModel createSelectionModel()
Creates a new default list selection model.
-
fireColumnAdded
protected void fireColumnAdded(javax.swing.event.TableColumnModelEvent e)
-
fireColumnRemoved
protected void fireColumnRemoved(javax.swing.event.TableColumnModelEvent e)
-
fireColumnMoved
protected void fireColumnMoved(javax.swing.event.TableColumnModelEvent e)
-
fireColumnSelectionChanged
protected void fireColumnSelectionChanged(javax.swing.event.ListSelectionEvent e)
-
fireColumnMarginChanged
protected void fireColumnMarginChanged()
-
-