tecgraf.javautils.gui.table
Class FooterModelWrapper

java.lang.Object
  extended by tecgraf.javautils.gui.table.FooterModelWrapper
All Implemented Interfaces:
EventListener, TableModelListener, TableModel
Direct Known Subclasses:
TotalizerModelWrapper

public abstract class FooterModelWrapper
extends Object
implements TableModel, TableModelListener

Classe que "decora" ou "engloba" um modelo (Wrapper) com um rodapé, isto é, exibindo uma informação calculada fixa na última linha. A primeira coluna desta última linha é reservada para a exibição de um texto, por exemplo "Total".

Author:
Tecgraf

Constructor Summary
FooterModelWrapper(TableModel model, String totalText)
          Cria o decorador de modelo, indicando qual o texto a ser exibido na primeira coluna da última linha.
 
Method Summary
 void addTableModelListener(TableModelListener l)
          
 Class<?> getColumnClass(int columnIndex)
          
 int getColumnCount()
          
 String getColumnName(int columnIndex)
          
protected abstract  Map<Integer,Number> getFooterValues()
          Obtém os valores a serem apresentados na última linha.
 TableModel getModel()
          Obtém o modelo.
 int getRowCount()
          Retorna o número de linhas deste modelo, que vai ser igual ao número de linhas do modelo decorado + 1 (linha apresentando os totais).
 Object getValueAt(int rowIndex, int columnIndex)
          Retorna o valor da célula especificada pelas coordenadas (linha, coluna).
 boolean isCellEditable(int rowIndex, int columnIndex)
          
 void removeTableModelListener(TableModelListener l)
          
 void setValueAt(Object value, int rowIndex, int columnIndex)
          Se o modelo decorado for editável, substitui o valor da célula indicada pelas coordenadas (linha, coluna), com exceção da última linha (totais), que nunca pode ser editada por ser calculada.
 void tableChanged(TableModelEvent e)
          Método chamado sempre que ocorre uma alteração no modelo.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FooterModelWrapper

public FooterModelWrapper(TableModel model,
                          String totalText)
Cria o decorador de modelo, indicando qual o texto a ser exibido na primeira coluna da última linha.

Parameters:
model - modelo a ser decorado.
totalText - texto a ser exibido na primeira coluna da última linha.
Method Detail

getFooterValues

protected abstract Map<Integer,Number> getFooterValues()
Obtém os valores a serem apresentados na última linha.

Returns:
valores a serem apresentados na última linha.

getModel

public TableModel getModel()
Obtém o modelo.

Returns:
modelo.

getRowCount

public int getRowCount()
Retorna o número de linhas deste modelo, que vai ser igual ao número de linhas do modelo decorado + 1 (linha apresentando os totais).

Specified by:
getRowCount in interface TableModel
Returns:
0 se o modelo original estiver vazio, número de linhas + 1 caso contrário.

getColumnCount

public int getColumnCount()

Specified by:
getColumnCount in interface TableModel

getValueAt

public Object getValueAt(int rowIndex,
                         int columnIndex)
Retorna o valor da célula especificada pelas coordenadas (linha, coluna). Normalmente retorna o valor correspondente da célula no modelo decorado, com exceção da última linha, em que a primeira célula exibe um texto e outras exibem um valor calculado.

Specified by:
getValueAt in interface TableModel
See Also:
FooterModelWrapper(TableModel, String)

setValueAt

public void setValueAt(Object value,
                       int rowIndex,
                       int columnIndex)
Se o modelo decorado for editável, substitui o valor da célula indicada pelas coordenadas (linha, coluna), com exceção da última linha (totais), que nunca pode ser editada por ser calculada.

Specified by:
setValueAt in interface TableModel

getColumnName

public String getColumnName(int columnIndex)

Specified by:
getColumnName in interface TableModel

getColumnClass

public Class<?> getColumnClass(int columnIndex)

Specified by:
getColumnClass in interface TableModel

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)

Specified by:
isCellEditable in interface TableModel

addTableModelListener

public void addTableModelListener(TableModelListener l)

Specified by:
addTableModelListener in interface TableModel

removeTableModelListener

public void removeTableModelListener(TableModelListener l)

Specified by:
removeTableModelListener in interface TableModel

tableChanged

public void tableChanged(TableModelEvent e)
Método chamado sempre que ocorre uma alteração no modelo. Refaz os cálculos.

Specified by:
tableChanged in interface TableModelListener
Parameters:
e - informações sobre o evento.


Copyright © 2014 Tecgraf/PUC-Rio. All rights reserved.