class TransmissionTableModel
extends java.lang.Object
implements javax.swing.table.TableModel
Modifier and Type | Class and Description |
---|---|
private class |
TransmissionTableModel.Column
Describes metadata and data for a table column.
|
private static class |
TransmissionTableModel.CustomTableCellRenderer
Template custom TableCellRenderer for subclassing.
|
Modifier and Type | Field and Description |
---|---|
private javax.swing.event.ChangeListener |
changeListener_ |
private static javax.swing.table.TableCellRenderer |
CLIENT_RENDERER
Cell renderer for Client objects.
|
private TransmissionTableModel.Column[] |
columns_ |
private int |
maxRows_ |
private int |
removeDelay_ |
static javax.swing.table.TableCellRenderer |
STATUS_RENDERER
Cell renderer for Transmission.Status objects.
|
private java.util.List |
tableListenerList_ |
private java.util.List |
transList_ |
Constructor and Description |
---|
TransmissionTableModel(boolean showSender,
boolean showReceiver,
int removeDelay,
int maxRows)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addTableModelListener(javax.swing.event.TableModelListener listener) |
void |
addTransmission(Transmission trans)
Adds a transmission (row) to this model.
|
private static javax.swing.table.TableCellRenderer |
createClientCellRenderer()
Returns a cell renderer for Client objects.
|
private static javax.swing.table.TableCellRenderer |
createStatusCellRenderer()
Returns a cell renderer for Transmission.Status objects.
|
private void |
fireTableChanged(javax.swing.event.TableModelEvent evt)
Passes a table event to all registered listeners.
|
java.lang.Class |
getColumnClass(int icol) |
int |
getColumnCount() |
java.lang.String |
getColumnName(int icol) |
int |
getRowCount() |
javax.swing.table.TableColumn |
getTableColumn(int icol)
Returns a TableColumn suitable for a given column of this table.
|
Transmission |
getTransmission(int irow)
Returns the transmission corresponding to a given table row.
|
java.lang.Object |
getValueAt(int irow,
int icol) |
boolean |
isCellEditable(int irow,
int icol) |
void |
removeTableModelListener(javax.swing.event.TableModelListener listener) |
void |
removeTransmission(Transmission trans)
Removes a transmission from this model.
|
void |
setValueAt(java.lang.Object value,
int irow,
int icol) |
private void |
transmissionChanged(Transmission trans)
Called whenever a transmission which is in this list has changed
state.
|
private final java.util.List transList_
private final java.util.List tableListenerList_
private final javax.swing.event.ChangeListener changeListener_
private final TransmissionTableModel.Column[] columns_
private int maxRows_
private int removeDelay_
public static final javax.swing.table.TableCellRenderer STATUS_RENDERER
private static final javax.swing.table.TableCellRenderer CLIENT_RENDERER
public TransmissionTableModel(boolean showSender, boolean showReceiver, int removeDelay, int maxRows)
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 trafficpublic Transmission getTransmission(int irow)
irow
- row indextransmission
- displayed in row irowpublic void addTransmission(Transmission trans)
trans
- transmission to addpublic void removeTransmission(Transmission trans)
trans
- transmission to removepublic int getColumnCount()
getColumnCount
in interface javax.swing.table.TableModel
public int getRowCount()
getRowCount
in interface javax.swing.table.TableModel
public java.lang.Object getValueAt(int irow, int icol)
getValueAt
in interface javax.swing.table.TableModel
public java.lang.String getColumnName(int icol)
getColumnName
in interface javax.swing.table.TableModel
public java.lang.Class getColumnClass(int icol)
getColumnClass
in interface javax.swing.table.TableModel
public boolean isCellEditable(int irow, int icol)
isCellEditable
in interface javax.swing.table.TableModel
public void setValueAt(java.lang.Object value, int irow, int icol)
setValueAt
in interface javax.swing.table.TableModel
public void addTableModelListener(javax.swing.event.TableModelListener listener)
addTableModelListener
in interface javax.swing.table.TableModel
public void removeTableModelListener(javax.swing.event.TableModelListener listener)
removeTableModelListener
in interface javax.swing.table.TableModel
public javax.swing.table.TableColumn getTableColumn(int icol)
icol
- column indexprivate void transmissionChanged(Transmission trans)
trans
- transmissionprivate void fireTableChanged(javax.swing.event.TableModelEvent evt)
evt
- event to forwardprivate static javax.swing.table.TableCellRenderer createStatusCellRenderer()
private static javax.swing.table.TableCellRenderer createClientCellRenderer()