T - tipo do objeto que representa cada linha da tabelapublic class ObjectTableModel<T> extends AbstractTableModel
Modelo para tabelas em que cada objeto representando uma linha da tabela.
Este modelo utiliza instâncias da interface
ObjectTableProvider para obter os valores
das células.
INSTRUÇÕES PARA USO:
Cada objeto da lista a ser passada para o modelo deve ter propriedades que
representem as colunas da tabela. O construtor recebe como parâmetro os nomes
das colunas e um "provedor de valores" (instância da
ObjectTableProvider) para obter a propriedade adequada para cada
coluna.
Antes de utilizar essa classe, de uma olhada na classe
ColumnsObjectTableModel. Elas são bem parecidas, mas a
ColumnsObjectTableModel substitui o ObjectTableProvider por
um array de IColumn. Essa mudança na arquitetura,
ObjectTableProvider,IColumn.isEditable(Object) recebe apenas o objeto-linha, diferente do
metodo ModifiableObjectTableProvider.isCellEditable(int, int) que
recebe os índices da linha e coluna da célula.ObjectTableModelSample,
Serialized FormlistenerList| Constructor and Description |
|---|
ObjectTableModel(List<T> rows,
ObjectTableProvider<T> provider)
Cria o modelo.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(T row)
Adiciona um objeto-linha à lista.
|
void |
addAll(Collection<T> rows)
Adiciona uma coleção de objetos-linha à lista.
|
void |
clear()
Remove todos os elementos de objetos.
|
Class<?> |
getColumnClass(int colIndex) |
int |
getColumnCount() |
String |
getColumnName(int colIndex) |
ObjectTableProvider<T> |
getProvider()
Obtém o
ObjectTableProvider |
T |
getRow(int rowIndex)
Obtém um objeto-linha específico.
|
int |
getRowCount() |
List<T> |
getRows()
Obtém a lista de objetos-linha atualizada.
|
Object |
getValueAt(int rowIndex,
int colIndex) |
boolean |
isCellEditable(int rowIndex,
int columnIndex) |
boolean |
modify(T row)
Modifica os dados de um objeto-linha da lista.
|
T |
remove(int rowIndex)
Remove um objeto-linha da lista pelo seu índice do modelo.
|
boolean |
remove(T row)
Remove um objeto-linha da lista.
|
Collection<T> |
removeAll()
Remove todos os objetos-linha.
|
Collection<T> |
removeAll(int[] rowIndexes)
Remove os objetos-linha especificados pelos seus índices.
|
void |
setRows(List<T> newRows)
Substitui a lista de objetos-linha.
|
void |
setValueAt(Object newValue,
int rowIndex,
int colIndex) |
void |
swapRows(int index1,
int index2)
Troca duas linhas no modelo.
|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListenerpublic ObjectTableModel(List<T> rows, ObjectTableProvider<T> provider)
rows - lista de objetos-linha.provider - provedor para extrair os valores das células dos
objetos-linha.IllegalArgumentException - se a lista de linhas ou o provedor forem
iguais a null, ou se a lista de nomes das colunas retornada pelo
provedor for nullpublic ObjectTableProvider<T> getProvider()
ObjectTableProviderpublic int getRowCount()
public int getColumnCount()
public Object getValueAt(int rowIndex, int colIndex)
public void setValueAt(Object newValue, int rowIndex, int colIndex)
setValueAt in interface TableModelsetValueAt in class AbstractTableModelpublic boolean isCellEditable(int rowIndex,
int columnIndex)
isCellEditable in interface TableModelisCellEditable in class AbstractTableModelpublic String getColumnName(int colIndex)
getColumnName in interface TableModelgetColumnName in class AbstractTableModelpublic Class<?> getColumnClass(int colIndex)
getColumnClass in interface TableModelgetColumnClass in class AbstractTableModelpublic void clear()
public void setRows(List<T> newRows)
newRows - nova lista de objetos-linha.IllegalArgumentException - se a lista de novas linhas for nullpublic void add(T row)
row - objeto-linha a ser adicionado.IllegalArgumentException - se row for nulo.public void addAll(Collection<T> rows)
rows - coleção de objetos-linha a serem adicionados.IllegalArgumentException - se rows for nulo.public boolean remove(T row)
row - objeto-linha a ser removido.IllegalArgumentException - se row for nulo.public T remove(int rowIndex)
rowIndex - índice do objeto-linha a ser removido.IndexOutOfBoundsException - se o índice for negativo ou se for maior
do que o tamanho da lista de objeto-linha.public Collection<T> removeAll(int[] rowIndexes)
rowIndexes - índices dos objetos-linha a serem removidos.IllegalArgumentException - se rowIndexes for nulo.IndexOutOfBoundsException - se algum índice for negativo ou se for
maior do que o tamanho da lista de objeto-linha.AbstractTableModel.fireTableRowsDeleted(int, int)public Collection<T> removeAll()
public boolean modify(T row)
row - objeto-linha a ser modificado.IllegalArgumentException - se a linha for nullpublic List<T> getRows()
public T getRow(int rowIndex)
rowIndex - índice do objeto-linhaIndexOutOfBoundsException - se o índice for inválidopublic void swapRows(int index1,
int index2)
index1 - - índice da primeira linhaindex2 - - índice da segunda linhaCopyright © 2019 Tecgraf/PUC-Rio. All rights reserved.