tecgraf.javautils.gui.print
Class DefaultPrintableTable

java.lang.Object
  extended by tecgraf.javautils.gui.print.DefaultPrintableTable
All Implemented Interfaces:
ImageObserver, PrintableReportItem, PrintableTable
Direct Known Subclasses:
LargeColumnPrintableTable

public class DefaultPrintableTable
extends Object
implements PrintableTable, ImageObserver

Implementação padrão para uma tabela a ser impressa.

See Also:
DefaultPrintableTableSample

Field Summary
 
Fields inherited from interface tecgraf.javautils.gui.print.PrintableTable
CENTER, LEFT, RIGHT
 
Fields inherited from interface tecgraf.javautils.gui.print.PrintableReportItem
CM_TO_INCH
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DefaultPrintableTable(DefaultPrintableTableModel model, Font font, boolean changeCellFont)
          Construtor.
DefaultPrintableTable(DefaultPrintableTableModel model, Font font, boolean changeCellFont, boolean changeTextFont, List<TableColumnGroup> columnGroups)
          Construtor.
DefaultPrintableTable(PrintableTableModel model)
          Construtor.
DefaultPrintableTable(TableModel model)
          Construtor.
DefaultPrintableTable(TableModel model, Font font)
          Construtor.
DefaultPrintableTable(TableModel model, Font font, boolean changeCellFont)
          Construtor.
DefaultPrintableTable(TableModel model, Font font, boolean changeCellFont, boolean changeTextFont)
          Construtor.
DefaultPrintableTable(TableModel model, Font font, boolean changeCellFont, boolean changeTextFont, List<TableColumnGroup> columnGroups)
          Construtor.
 
Method Summary
 float getHeight()
          Obtém a altura do item impresso na página.
 String getLineWrap()
          Obtém o tipo de quebra de linha para os valores da tabela
 TableModel getModel()
          Obtém o modelo utilizado na tabela.
 float getWidth()
          Obtém a largura do item impresso na página.
 boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height)
          
 void initPrinting(PrintConfiguration configuration)
          Prepara a impressão com determinada configuração de impressão.
 void joinColumns(int row, int startCol, int endCol)
          Indica que determinadas colunas de uma linha da tabela devem ser unidas.
 boolean print(Graphics2D g2d, PageFormat format, int page)
          Imprime o item.
 void setAdjustWidth(boolean adjustWidth)
          Indica se deve ou não ajustar a tabela à largura da página.
 void setAlignment(int alignment)
          Indica o alinhamento da tabela (à esquerda, direita ou centralizado).
 void setAlignTableHeader(boolean alignTableHeader)
          Indica se deve alinhar o header da tabela como as colunas.
 void setCellFont(int fromRow, int toRow, int fromColumn, int toColumn, Font font)
          Configura a fonte a ser usada em um conjunto de células.
 void setColumnAlignment(int[] columnIndexes, int alignment)
          Indica o alinhamento de uma ou mais colunas da tabela (LEFT, RIGHT ou CENTER.
 void setColumnBorderVisible(int startCol, int endCol, boolean visible)
          Indica quando as bordas da coluna devem se tornar visíveis ou invisíveis.
 void setColumnColor(int column, int startRow, int endRow, Color color)
          Atribui determinada cor de fundo para uma coluna da tabela, com a possibilidade de preencher toda ou somente parte das células da coluna.
 void setColumnNameFont(int fromColumn, int toColumn, Font font)
          Configura a fonte a ser usada em um conjunto de células do nome de coluna.
 void setColumnPart(float[] columnPart)
          Indica a largura proporcional de cada coluna da tabela.
 void setCornerNameFont(Font font)
          Configura fonte a ser usada no corner do modelo.
 void setDateFormat(DateFormat dateFormat)
          Indica o formato em que as datas devem ser impressas.
 void setDecimalFormat(NumberFormat decimalFormat)
          Indica o formato em que os números decimais devem ser impressos.
 void setDefaultFont(Font font)
          Configura a fonte padrão.
 void setInsets(float dx, float dy)
          Configura o espaço entre os textos e as linhas que separam as células da tabela.
 void setLineBorderVisible(int startRow, int endRow, boolean visible)
          Indica quando as bordas da linha devem se tornar visíveis ou invisíveis.
 void setLineWidth(float lineWidth)
          Configura a espessura das linhas que separam as células da tabela.
 void setLineWrap(String lineWrap)
          Seta o tipo de quebra de linha para os valores da tabela
 void setNamesDefaultFont(Font font)
          Configura a fonte a ser usada nos nomes de linha ou coluna caso o modelo possua nomes de linha ou coluna.
 void setPosText(String posText)
          Indica o comentário que aparece colado na tabela, ao seu final, e não é repetido a cada vez que uma página é quebrada.
 void setPosText(String posText, Font posTextFont)
          Indica o comentário que aparece colado na tabela, ao seu final, e não é repetido a cada vez que uma página é quebrada e a fonte da impressão do comentário.
 void setRowColor(int row, int startCol, int endCol, Color color)
          Atribui determinada cor de fundo para uma linha da tabela, com a possibilidade de preencher toda ou somente parte das células da linha.
 void setRowNameFont(int fromRow, int toRow, Font font)
          Configura a fonte a ser usada em um conjunto de células do nome de linha.
 void setTableHeader(String header)
          Indica o comentário que aparece colado na tabela, acima dela, e é repetido toda vez que uma página é quebrada.
 void setTableHeader(String header, Font headerFont)
          Indica o comentário que aparece colado na tabela, acima dela, e é repetido toda vez que uma página é quebrada e a fonte da impressão do comentário.
 void setTitle(String title)
          Indica o título que aparece apenas uma vez, acima da tabela.
 void setTitle(String title, Font titleFont)
          Indica o título que aparece apenas uma vez, acima da tabela e a fonte da impressão do título.
 boolean simulatePrint(Graphics2D g2d, PageFormat format, int page)
          Simula a impressão do item, isto é, gera a impressão no componente gráfico como se estivesse imprimindo, mas sem imprimir de fato.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultPrintableTable

public DefaultPrintableTable(TableModel model)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.

DefaultPrintableTable

public DefaultPrintableTable(TableModel model,
                             Font font)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.
font - fonte a ser utilizada.

DefaultPrintableTable

public DefaultPrintableTable(TableModel model,
                             Font font,
                             boolean changeCellFont)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.
font - fonte a ser utilizada.
changeCellFont - indica se a fonte da célula pode ser alterada pela proporção.

DefaultPrintableTable

public DefaultPrintableTable(TableModel model,
                             Font font,
                             boolean changeCellFont,
                             boolean changeTextFont)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.
font - fonte a ser utilizada.
changeCellFont - indica se a fonte da célula pode ser alterada pela proporção.
changeTextFont - indica se a fonte dos textos pode ser alterada pela proporção.

DefaultPrintableTable

public DefaultPrintableTable(TableModel model,
                             Font font,
                             boolean changeCellFont,
                             boolean changeTextFont,
                             List<TableColumnGroup> columnGroups)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.
font - fonte a ser utilizada.
changeCellFont - indica se a fonte da célula pode ser alterada pela proporção.
changeTextFont - indica se a fonte dos textos pode ser alterada pela proporção.
columnGroups - os agrupamentos das colunas da tabela. Se for null, a tabela será impressa sem agrupamentos de colunas.

DefaultPrintableTable

public DefaultPrintableTable(PrintableTableModel model)
Construtor. Ajuda os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.

DefaultPrintableTable

public DefaultPrintableTable(DefaultPrintableTableModel model,
                             Font font,
                             boolean changeCellFont)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.
font - fonte a ser utilizada.
changeCellFont - indica se a fonte da célula pode ser alterada pela proporção.
Throws:
IllegalArgumentException - quando o modelo passado por parâmetro é nulo.

DefaultPrintableTable

public DefaultPrintableTable(DefaultPrintableTableModel model,
                             Font font,
                             boolean changeCellFont,
                             boolean changeTextFont,
                             List<TableColumnGroup> columnGroups)
Construtor. Ajusta os valores padrão e inicializa os campos necessários.

Parameters:
model - modelo da tabela a ser impressa.
font - fonte a ser utilizada.
changeCellFont - indica se a fonte da célula pode ser alterada pela proporção.
changeTextFont - indica se a fonte dos textos pode ser alterada pela proporção.
columnGroups - os agrupamentos das colunas da tabela. Se for null, a tabela será impressa sem agrupamentos de colunas.
Throws:
IllegalArgumentException - quando o modelo passado por parâmetro é nulo.
Method Detail

setDefaultFont

public void setDefaultFont(Font font)
Configura a fonte padrão. Todas os textos que não tiverem uma fonte explicitamente definida serão impressos com esta fonte padrão.

Specified by:
setDefaultFont in interface PrintableTable
Parameters:
font - fonte padrão para impressão.

setCellFont

public void setCellFont(int fromRow,
                        int toRow,
                        int fromColumn,
                        int toColumn,
                        Font font)
Configura a fonte a ser usada em um conjunto de células. Todas as células compreendidas entre as colunas e as linhas fornecidas serão impressas com a fonte especificada. As coordenadas utilizadas são referentes ao modelo. A configuração da fonte dos nomes de linha, coluna e corner são realizadas por métodos próprios.

Specified by:
setCellFont in interface PrintableTable
Parameters:
fromRow - primeira coluna a usar a fonte.
toRow - última coluna a usar a fonte.
fromColumn - primeira linha a usar a fonte.
toColumn - última linha a usar a fonte.
font - fonte da impressão.
See Also:
configura fonte dos nomes de linha, configura fonte dos nomes de coluna, configura fonte do corner da tabela

setColumnNameFont

public void setColumnNameFont(int fromColumn,
                              int toColumn,
                              Font font)
Configura a fonte a ser usada em um conjunto de células do nome de coluna. Todas as células compreendidas entre as colunas fornecidas serão impressas com a fonte especificada.

Specified by:
setColumnNameFont in interface PrintableTable
Parameters:
fromColumn - primeira coluna a usar a fonte.
toColumn - última coluna a usar a fonte.
font - fonte da impressão.

setRowNameFont

public void setRowNameFont(int fromRow,
                           int toRow,
                           Font font)
Configura a fonte a ser usada em um conjunto de células do nome de linha. Todas as células compreendidas entre as linhas fornecidas serão impressas com a fonte especificada.

Specified by:
setRowNameFont in interface PrintableTable
Parameters:
fromRow - primeira célula a usar a fonte.
toRow - última célula a usar a fonte.
font - fonte da impressão.

setCornerNameFont

public void setCornerNameFont(Font font)
Configura fonte a ser usada no corner do modelo. Caso não exista corner o método não surtirá efeito algum.

Specified by:
setCornerNameFont in interface PrintableTable
Parameters:
font - fonte da impressão do corner.

setLineWidth

public void setLineWidth(float lineWidth)
Configura a espessura das linhas que separam as células da tabela. Uma espessura negativa faz com que as linhas não sejam desenhadas. Espessura zero é a linha mais fina possível.

Specified by:
setLineWidth in interface PrintableTable
Parameters:
lineWidth - espessura das linhas da tabela.

setInsets

public void setInsets(float dx,
                      float dy)
Configura o espaço entre os textos e as linhas que separam as células da tabela. O valor padrão é zero tanto em X como em Y.

Specified by:
setInsets in interface PrintableTable
Parameters:
dx - espaçamento horizontal entre os textos e as linhas
dy - espaçamento vertical entre os textos e as linhas

setPosText

public void setPosText(String posText)
Indica o comentário que aparece colado na tabela, ao seu final, e não é repetido a cada vez que uma página é quebrada.

Specified by:
setPosText in interface PrintableTable
Parameters:
posText - comentário que aparece colado na tabela ao seu final.

setPosText

public void setPosText(String posText,
                       Font posTextFont)
Indica o comentário que aparece colado na tabela, ao seu final, e não é repetido a cada vez que uma página é quebrada e a fonte da impressão do comentário.

Specified by:
setPosText in interface PrintableTable
Parameters:
posText - comentário que aparece colado na tabela ao seu final.
posTextFont - fonte da impressão do comentário.

setTableHeader

public void setTableHeader(String header)
Indica o comentário que aparece colado na tabela, acima dela, e é repetido toda vez que uma página é quebrada.

Specified by:
setTableHeader in interface PrintableTable
Parameters:
header - comentário que aparece colado na tabela acima dela.

setTableHeader

public void setTableHeader(String header,
                           Font headerFont)
Indica o comentário que aparece colado na tabela, acima dela, e é repetido toda vez que uma página é quebrada e a fonte da impressão do comentário.

Specified by:
setTableHeader in interface PrintableTable
Parameters:
header - comentário que aparece colado na tabela acima dela.
headerFont - fonte da impressão do comentário.

setTitle

public void setTitle(String title)
Indica o título que aparece apenas uma vez, acima da tabela.

Specified by:
setTitle in interface PrintableTable
Parameters:
title - título que aparece apenas uma vez acima da tabela.

setTitle

public void setTitle(String title,
                     Font titleFont)
Indica o título que aparece apenas uma vez, acima da tabela e a fonte da impressão do título.

Specified by:
setTitle in interface PrintableTable
Parameters:
title - título que aparece apenas uma vez acima da tabela.
titleFont - fonte da impressão do título.

setDateFormat

public void setDateFormat(DateFormat dateFormat)
Indica o formato em que as datas devem ser impressas.

Specified by:
setDateFormat in interface PrintableTable
Parameters:
dateFormat - formato em que as datas devem ser impressas.

setDecimalFormat

public void setDecimalFormat(NumberFormat decimalFormat)
Indica o formato em que os números decimais devem ser impressos.

Specified by:
setDecimalFormat in interface PrintableTable
Parameters:
decimalFormat - formato em que os números decimais devem ser impressos.

simulatePrint

public boolean simulatePrint(Graphics2D g2d,
                             PageFormat format,
                             int page)
Simula a impressão do item, isto é, gera a impressão no componente gráfico como se estivesse imprimindo, mas sem imprimir de fato.

Specified by:
simulatePrint in interface PrintableReportItem
Parameters:
g2d - componente gráfico.
format - formato da página a ser impressa.
page - índice da página a ser impressa.
Returns:
verdadeiro se o item foi totalmente impresso.

print

public boolean print(Graphics2D g2d,
                     PageFormat format,
                     int page)
Imprime o item.

Specified by:
print in interface PrintableReportItem
Parameters:
g2d - componente gráfico.
format - formato da página a ser impressa.
page - índice da página a ser impressa.
Returns:
verdadeiro se o item foi totalmente impresso.

imageUpdate

public boolean imageUpdate(Image img,
                           int infoflags,
                           int x,
                           int y,
                           int width,
                           int height)

Specified by:
imageUpdate in interface ImageObserver

getHeight

public float getHeight()
Obtém a altura do item impresso na página.

Specified by:
getHeight in interface PrintableReportItem
Returns:
altura do item impresso na página.

setNamesDefaultFont

public void setNamesDefaultFont(Font font)
Configura a fonte a ser usada nos nomes de linha ou coluna caso o modelo possua nomes de linha ou coluna.

Specified by:
setNamesDefaultFont in interface PrintableTable
Parameters:
font - fonte utilizada na impressão.

setColumnPart

public void setColumnPart(float[] columnPart)
Indica a largura proporcional de cada coluna da tabela. Uma vez indicados estes valores, a tabela não mais se auto ajustará, mas seguirá estas indicações. A tabela ocupará toda a largura da página.

Specified by:
setColumnPart in interface PrintableTable
Parameters:
columnPart - largura proporcional de cada coluna.

setAdjustWidth

public void setAdjustWidth(boolean adjustWidth)
Indica se deve ou não ajustar a tabela à largura da página. Se a largura das colunas for definida proporcionalmente, a tabela se ajustará à página independente do valor adjustWidth. O valor default é verdadeiro.

Specified by:
setAdjustWidth in interface PrintableTable
Parameters:
adjustWidth - verdadeiro se quiser ajustar a tabela.

setColumnAlignment

public void setColumnAlignment(int[] columnIndexes,
                               int alignment)
Indica o alinhamento de uma ou mais colunas da tabela (LEFT, RIGHT ou CENTER.

Specified by:
setColumnAlignment in interface PrintableTable
Parameters:
columnIndexes - array de índices das colunas cujos alinhamentos serão indicados (0-based).
alignment - alinhamento para a coluna.

setAlignment

public void setAlignment(int alignment)
Indica o alinhamento da tabela (à esquerda, direita ou centralizado).

Specified by:
setAlignment in interface PrintableTable
Parameters:
alignment - alinhamento da tabela.

joinColumns

public void joinColumns(int row,
                        int startCol,
                        int endCol)
Indica que determinadas colunas de uma linha da tabela devem ser unidas. O conteúdo lido do modelo na coluna startCol ocupará as colunas que foram unidas.

Specified by:
joinColumns in interface PrintableTable
Parameters:
row - linha em que as colunas serão unidas.
startCol - coluna a partir da qual a união acontecerá.
endCol - coluna até a qual a união acontecerá.

setColumnBorderVisible

public void setColumnBorderVisible(int startCol,
                                   int endCol,
                                   boolean visible)
Indica quando as bordas da coluna devem se tornar visíveis ou invisíveis. A borda à esquerda da startCol e a borda à direita da endCol não são alteradas.

Specified by:
setColumnBorderVisible in interface PrintableTable
Parameters:
startCol - coluna a partir da qual a borda será visível ou invisível.
endCol - coluna até a qual a borda será visível ou invisível.
visible - falso para tornar invisível a borda.

setLineBorderVisible

public void setLineBorderVisible(int startRow,
                                 int endRow,
                                 boolean visible)
Indica quando as bordas da linha devem se tornar visíveis ou invisíveis. A borda acima da startRow e a borda abaixo da endRow não são alteradas.

Specified by:
setLineBorderVisible in interface PrintableTable
Parameters:
startRow - linha a partir da qual a borda será visível ou invisível.
endRow - linha até a qual a borda será visível ou invisível.
visible - falso para tornar invisível a borda.

getModel

public TableModel getModel()
Obtém o modelo utilizado na tabela.

Returns:
modelo utilizado na tabela.

setAlignTableHeader

public void setAlignTableHeader(boolean alignTableHeader)
Indica se deve alinhar o header da tabela como as colunas.

Parameters:
alignTableHeader - verdadeiro para alinhar. Se falso, centraliza.

getLineWrap

public String getLineWrap()
Obtém o tipo de quebra de linha para os valores da tabela

Returns:
tipo de quebra de linha

setLineWrap

public void setLineWrap(String lineWrap)
Seta o tipo de quebra de linha para os valores da tabela

Parameters:
lineWrap - tipo de quebra de linha

initPrinting

public void initPrinting(PrintConfiguration configuration)
Prepara a impressão com determinada configuração de impressão.

Specified by:
initPrinting in interface PrintableReportItem
Parameters:
configuration - configuração de impressão.

getWidth

public float getWidth()
Obtém a largura do item impresso na página.

Specified by:
getWidth in interface PrintableReportItem
Returns:
largura do item impresso na página.

setRowColor

public void setRowColor(int row,
                        int startCol,
                        int endCol,
                        Color color)
Atribui determinada cor de fundo para uma linha da tabela, com a possibilidade de preencher toda ou somente parte das células da linha.

Specified by:
setRowColor in interface PrintableTable
Parameters:
row - índice da linha.
startCol - índice da coluna inicial.
endCol - índice da coluna final.
color - cor escolhida para o fundo da linha.

setColumnColor

public void setColumnColor(int column,
                           int startRow,
                           int endRow,
                           Color color)
Atribui determinada cor de fundo para uma coluna da tabela, com a possibilidade de preencher toda ou somente parte das células da coluna.

Specified by:
setColumnColor in interface PrintableTable
Parameters:
column - índice da coluna.
startRow - índice da linha inicial.
endRow - índice da linha final.
color - cor escolhida para o fundo da coluna.


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