Class TransmissionTableModel

  • All Implemented Interfaces:
    javax.swing.table.TableModel

    class TransmissionTableModel
    extends java.lang.Object
    implements javax.swing.table.TableModel
    TableModel implementation which displays Transmission objects.
    Since:
    5 Dec 2008
    Author:
    Mark Taylor
    • Field Detail

      • transList_

        private final java.util.List transList_
      • tableListenerList_

        private final java.util.List tableListenerList_
      • changeListener_

        private final javax.swing.event.ChangeListener changeListener_
      • 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 required
        showReceiver - true if a Receiver column is required
        removeDelay - time in milliseconds after transmission resolution that it will stay in the table - after this it will be removed automatically
        maxRows - 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 index
        transmission - 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:
        getColumnCount in interface javax.swing.table.TableModel
      • getRowCount

        public int getRowCount()
        Specified by:
        getRowCount in interface javax.swing.table.TableModel
      • getValueAt

        public java.lang.Object getValueAt​(int irow,
                                           int icol)
        Specified by:
        getValueAt in interface javax.swing.table.TableModel
      • getColumnName

        public java.lang.String getColumnName​(int icol)
        Specified by:
        getColumnName in interface javax.swing.table.TableModel
      • getColumnClass

        public java.lang.Class getColumnClass​(int icol)
        Specified by:
        getColumnClass in interface javax.swing.table.TableModel
      • isCellEditable

        public boolean isCellEditable​(int irow,
                                      int icol)
        Specified by:
        isCellEditable in interface javax.swing.table.TableModel
      • setValueAt

        public void setValueAt​(java.lang.Object value,
                               int irow,
                               int icol)
        Specified by:
        setValueAt in interface javax.swing.table.TableModel
      • addTableModelListener

        public void addTableModelListener​(javax.swing.event.TableModelListener listener)
        Specified by:
        addTableModelListener in interface javax.swing.table.TableModel
      • removeTableModelListener

        public void removeTableModelListener​(javax.swing.event.TableModelListener listener)
        Specified by:
        removeTableModelListener in interface javax.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