tecgraf.javautils.gui.table
Class ObjectTableBuilder<R>

java.lang.Object
  extended by tecgraf.javautils.gui.table.ObjectTableBuilder<R>
Type Parameters:
R - Tipo dos objetos a serem representados na tabela.

public class ObjectTableBuilder<R>
extends Object

Facilita a construção de tabelas de objetos.

Você pode utilizar uma única instância desta classe para criar várias tabelas, fazendo com que todas tenham a mesma configuração.

Para criar uma tabela você precisa de duas coisas:

Exemplo:
... IColumn[] columns = new IColumns[]{ new NameColumn(), new PhoneColumn(), new AddressColumn() }; ObjectTableBuilder builder = new ObjectTableBuilder(columns); ... List phonebook = new ArrayList(); ... SortableTable table = builder.build(phonebook); ...
Existem também alguns métodos no builder que facilitam a personalização da tabela, veja os métodos setColumnsWidthPolicy(ColumnsWidthPolicy), setSelectionMode(SelectionMode) e setSortOrder(int, SortOrder).

Essa classe pode ser estendida para ser o construtor de outro tipo de tabela que herde de SortableTable. Para isso, basta sobrescrever o método createTable(TableModel).

Author:
Tecgraf
See Also:
ObjectTableBuilderSample

Nested Class Summary
static class ObjectTableBuilder.ColumnsWidthPolicy
          Política de ajuste da largura das colunas.
static class ObjectTableBuilder.SelectionMode
          Modo de seleção das linhas da tabela.
 
Constructor Summary
ObjectTableBuilder(IColumn<R>... columns)
          Construtor.
 
Method Summary
 SortableTable build(List<R> objs)
          Constroi a tabela.
protected  SortableTable createTable(TableModel model)
           Cria uma tabela do tipo SortableTable dado o modelo.
 void setColumnsWidthPolicy(ObjectTableBuilder.ColumnsWidthPolicy policy)
          Atribui a política de ajuste da largura das colunas da tabela.
O padrão é manter a largura das colunas como foram criadas.
 void setSelectionMode(ObjectTableBuilder.SelectionMode mode)
          Atribui o modo de seleção das linhas da tabela.
 void setSortOrder(int columnIndex, SortOrder order)
          Atribui o modo de ordenação da tabela.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectTableBuilder

public ObjectTableBuilder(IColumn<R>... columns)
Construtor.

Parameters:
columns - Modelo das colunas da tabela na ordem em que devem aparecer.
Method Detail

setColumnsWidthPolicy

public void setColumnsWidthPolicy(ObjectTableBuilder.ColumnsWidthPolicy policy)
Atribui a política de ajuste da largura das colunas da tabela.
O padrão é manter a largura das colunas como foram criadas.

Parameters:
policy - Modo de ajuste da largura das colunas. O padrão é não alterar a largura das colunas.
See Also:
ObjectTableBuilder.ColumnsWidthPolicy

setSelectionMode

public void setSelectionMode(ObjectTableBuilder.SelectionMode mode)
Atribui o modo de seleção das linhas da tabela.
O padrão é as linhas da tabela não serem selecionáveis.

Parameters:
mode - modo de seleção das linhas da tabela. O padrão é sem seleção.
See Also:
ObjectTableBuilder.SelectionMode

setSortOrder

public void setSortOrder(int columnIndex,
                         SortOrder order)
Atribui o modo de ordenação da tabela. Se sortOrder for igual a SortOrder.UNSORTED a tabela não será ordenada.
O padrão é uma tabela inicialmente desordenada.

Parameters:
columnIndex - Índice da coluna.
order - Sentido da ordenação, crescente ou decrescente.

build

public SortableTable build(List<R> objs)
Constroi a tabela.

Parameters:
objs - Objetos que serão mostrados na tabela.
Returns:
uma tabela ordenada para objetos do tipo .

createTable

protected SortableTable createTable(TableModel model)

Cria uma tabela do tipo SortableTable dado o modelo.

Esse método protected permite que esse construtor seja estendido para criar outro tipo de tabela que herde de SortableTable.

Parameters:
model - modelo da tabela.
Returns:
uma nova tabela.


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