T - Tipo dos objetos que serão representados por linhas da tabela.public class ColumnsObjectTableModel<T> extends AbstractTableModel
Modelo de tabela de objetos de fácil construção.
Sua arquitetura permite reutilizar o código das colunas e exime o
desenvolvedor de trabalhar com os índices da tabela, seja de linha ou de
coluna.
Para criar um modelo de tabela você precisa de duas coisas:
IColumn ou estendendo AbstractColumn.
Obs. esse modelo não faz uso dos métodos
IColumn.createTableCellEditor() e
IColumn.createTableCellRenderer().
Antes de utilizar esse modelo dê uma olhada na classe
ObjectTableBuilder que facilita a construção de tabelas cujas
informações mostradas estão contidas em um objeto.
ColumnsObjectTableModelSample,
Serialized FormlistenerList| Constructor and Description |
|---|
ColumnsObjectTableModel(List<T> rows,
IColumn<T>... columns)
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 columnIndex) |
int |
getColumnCount() |
String |
getColumnName(int columnIndex) |
IColumn<T>[] |
getColumns()
Obtém os modelos das colunas da tabela na ordem em que elas aparecem.
Obs. |
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 columnIndex) |
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 columnIndex) |
void |
swapRows(int index1,
int index2)
Troca duas linhas no modelo.
|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListenerpublic ColumnsObjectTableModel(List<T> rows, IColumn<T>... columns)
rows - lista de objetos-linha.columns - Modelo das colunas da tabela na ordem em que devem aparecer.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 IColumn<T>[] getColumns()
public int getRowCount()
public int getColumnCount()
public Object getValueAt(int rowIndex, int columnIndex)
public void setValueAt(Object newValue, int rowIndex, int columnIndex)
setValueAt in interface TableModelsetValueAt in class AbstractTableModelpublic boolean isCellEditable(int rowIndex,
int columnIndex)
isCellEditable in interface TableModelisCellEditable in class AbstractTableModelpublic String getColumnName(int columnIndex)
getColumnName in interface TableModelgetColumnName in class AbstractTableModelpublic Class<?> getColumnClass(int columnIndex)
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 © 2017 Tecgraf/PUC-Rio. All rights reserved.