Package org.astrogrid.samp.gui
Class TransmissionTableModel
- java.lang.Object
-
- org.astrogrid.samp.gui.TransmissionTableModel
-
- All Implemented Interfaces:
javax.swing.table.TableModel
class TransmissionTableModel extends java.lang.Object implements javax.swing.table.TableModelTableModel implementation which displays Transmission objects.- Since:
- 5 Dec 2008
- Author:
- Mark Taylor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classTransmissionTableModel.ColumnDescribes metadata and data for a table column.private static classTransmissionTableModel.CustomTableCellRendererTemplate custom TableCellRenderer for subclassing.
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.event.ChangeListenerchangeListener_private static javax.swing.table.TableCellRendererCLIENT_RENDERERCell renderer for Client objects.private TransmissionTableModel.Column[]columns_private intmaxRows_private intremoveDelay_static javax.swing.table.TableCellRendererSTATUS_RENDERERCell renderer for Transmission.Status objects.private java.util.ListtableListenerList_private java.util.ListtransList_
-
Constructor Summary
Constructors Constructor Description TransmissionTableModel(boolean showSender, boolean showReceiver, int removeDelay, int maxRows)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTableModelListener(javax.swing.event.TableModelListener listener)voidaddTransmission(Transmission trans)Adds a transmission (row) to this model.private static javax.swing.table.TableCellRenderercreateClientCellRenderer()Returns a cell renderer for Client objects.private static javax.swing.table.TableCellRenderercreateStatusCellRenderer()Returns a cell renderer for Transmission.Status objects.private voidfireTableChanged(javax.swing.event.TableModelEvent evt)Passes a table event to all registered listeners.java.lang.ClassgetColumnClass(int icol)intgetColumnCount()java.lang.StringgetColumnName(int icol)intgetRowCount()javax.swing.table.TableColumngetTableColumn(int icol)Returns a TableColumn suitable for a given column of this table.TransmissiongetTransmission(int irow)Returns the transmission corresponding to a given table row.java.lang.ObjectgetValueAt(int irow, int icol)booleanisCellEditable(int irow, int icol)voidremoveTableModelListener(javax.swing.event.TableModelListener listener)voidremoveTransmission(Transmission trans)Removes a transmission from this model.voidsetValueAt(java.lang.Object value, int irow, int icol)private voidtransmissionChanged(Transmission trans)Called whenever a transmission which is in this list has changed state.
-
-
-
Field Detail
-
transList_
private final java.util.List transList_
-
tableListenerList_
private final java.util.List tableListenerList_
-
changeListener_
private final javax.swing.event.ChangeListener changeListener_
-
columns_
private final TransmissionTableModel.Column[] columns_
-
maxRows_
private int maxRows_
-
removeDelay_
private int removeDelay_
-
STATUS_RENDERER
public static final javax.swing.table.TableCellRenderer STATUS_RENDERER
Cell renderer for Transmission.Status objects.
-
CLIENT_RENDERER
private static final javax.swing.table.TableCellRenderer CLIENT_RENDERER
Cell renderer for Client objects.
-
-
Constructor Detail
-
TransmissionTableModel
public TransmissionTableModel(boolean showSender, boolean showReceiver, int removeDelay, int maxRows)Constructor.- Parameters:
showSender- true if a Sender column is requiredshowReceiver- true if a Receiver column is requiredremoveDelay- time in milliseconds after transmission resolution that it will stay in the table - after this it will be removed automaticallymaxRows- maximum row count for table - if not set to a finite value, Swing can get overloaded in very high message traffic
-
-
Method Detail
-
getTransmission
public Transmission getTransmission(int irow)
Returns the transmission corresponding to a given table row.- Parameters:
irow- row indextransmission- displayed in row irow
-
addTransmission
public void addTransmission(Transmission trans)
Adds a transmission (row) to this model. It will appear at the top.- Parameters:
trans- transmission to add
-
removeTransmission
public void removeTransmission(Transmission trans)
Removes a transmission from this model.- Parameters:
trans- transmission to remove
-
getColumnCount
public int getColumnCount()
- Specified by:
getColumnCountin interfacejavax.swing.table.TableModel
-
getRowCount
public int getRowCount()
- Specified by:
getRowCountin interfacejavax.swing.table.TableModel
-
getValueAt
public java.lang.Object getValueAt(int irow, int icol)- Specified by:
getValueAtin interfacejavax.swing.table.TableModel
-
getColumnName
public java.lang.String getColumnName(int icol)
- Specified by:
getColumnNamein interfacejavax.swing.table.TableModel
-
getColumnClass
public java.lang.Class getColumnClass(int icol)
- Specified by:
getColumnClassin interfacejavax.swing.table.TableModel
-
isCellEditable
public boolean isCellEditable(int irow, int icol)- Specified by:
isCellEditablein interfacejavax.swing.table.TableModel
-
setValueAt
public void setValueAt(java.lang.Object value, int irow, int icol)- Specified by:
setValueAtin interfacejavax.swing.table.TableModel
-
addTableModelListener
public void addTableModelListener(javax.swing.event.TableModelListener listener)
- Specified by:
addTableModelListenerin interfacejavax.swing.table.TableModel
-
removeTableModelListener
public void removeTableModelListener(javax.swing.event.TableModelListener listener)
- Specified by:
removeTableModelListenerin interfacejavax.swing.table.TableModel
-
getTableColumn
public javax.swing.table.TableColumn getTableColumn(int icol)
Returns a TableColumn suitable for a given column of this table. Can be used for more customised presentation.- Parameters:
icol- column index- Returns:
- table column
-
transmissionChanged
private void transmissionChanged(Transmission trans)
Called whenever a transmission which is in this list has changed state.- Parameters:
trans- transmission
-
fireTableChanged
private void fireTableChanged(javax.swing.event.TableModelEvent evt)
Passes a table event to all registered listeners.- Parameters:
evt- event to forward
-
createStatusCellRenderer
private static javax.swing.table.TableCellRenderer createStatusCellRenderer()
Returns a cell renderer for Transmission.Status objects.- Returns:
- table cell renderer
-
createClientCellRenderer
private static javax.swing.table.TableCellRenderer createClientCellRenderer()
Returns a cell renderer for Client objects.- Returns:
- table cell renderer
-
-