tecgraf.javautils.gui.print
Class TextTool

java.lang.Object
  extended by tecgraf.javautils.gui.print.TextTool

public class TextTool
extends Object

Ferramenta de desenho de textos. Objetos desta classe podem ser usados para desenhar textos em coordenadas de mundo. Os textos podem ter múltiplas linhas e há duas formas de posicionamento: através de um ponto de referência e uma indicação sobre a relação entre este ponto e a caixa envolvente do texto, ou através de uma caixa dentro da qual o texto deve ser desenhado.

Os métodos desta classe não são sincronizados. O código cliente deve garantir que todas as chamadas a esta classe sejam feitas dentro da thread do Swing.

See Also:
TextToolSample

Field Summary
static String ALIGN_CENTER
          Texto para indicar o alinhamento centralizado
static String ALIGN_LEFT
          Texto para indicar o alinhamento à esquerda
static String ALIGN_RIGHT
          Texto para indicar o alinhamento à direita
static String CENTER
          Texto para indicar a posição centralizada
static String EAST
          Texto para indicar a posição leste
static String NORTH
          Texto para indicar a posição norte
static String NORTH_EAST
          Texto para indicar a posição nordeste
static String NORTH_WEST
          Texto para indicar a posição noroeste
static String SOUTH
          Texto para indicar a posição sul
static String SOUTH_EAST
          Texto para indicar a posição sudeste
static String SOUTH_WEST
          Texto para indicar a posição sudoeste
static String WEST
          Texto para indicar a posição oeste
static String WRAP_CHAR
          Texto para indicar que deve ser feita quebra de linha após um caracter
static String WRAP_NONE
          Texto para indicar que não deve ser feita quebra de linha
static String WRAP_WORD
          Texto para indicar que deve ser feita quebra de linha após uma palavra
 
Constructor Summary
TextTool()
           
 
Method Summary
 int draw(Graphics2D g2d, String text, int pos, Rectangle2D bbox, String wrap, String alignment)
          Desenha um texto, em coordenadas de mundo, dentro da caixa envolvente fornecida.
 void draw(Graphics2D g2d, String text, Point2D p, String ref)
          Desenha um texto, em coordenadas de mundo, com referência ao ponto fornecido.
 void draw(Graphics2D g2d, String text, Point2D p, String ref, String alignment)
          Desenha um texto, em coordenadas de mundo, com referência ao ponto fornecido.
 int getBBox(Graphics2D g2d, String text, int pos, Rectangle2D bbox, String wrap, String alignment)
          Obtém a caixa envolvente, em coordenadas de mundo, como uma caixa contida na caixa fornecida (se o texto não ocupar a caixa toda) ou a própria caixa, se o texto preencher a caixa ou não couber totalmente na caixa.
 void getBBox(Graphics2D g2d, String text, Point2D p, String ref, Rectangle2D bbox)
          Obtém a caixa envolvente, em coordenadas de mundo, com referência ao ponto fornecido.
 void setTabSize(int size)
          Configura o tamanho do TAB a ser usado na impressão.
 void setTransforms(AffineTransform oT, AffineTransform cT)
          Inicializa as matrizes de transformação afim que serão utilizadas para posicionar os componentes gráficos.
 String wrapText(Graphics2D g2d, String text, int boxWidth, String wrapStyle)
          Quebra um texto em linhas de acordo com a largura permitida.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NORTH

public static final String NORTH
Texto para indicar a posição norte

See Also:
Constant Field Values

SOUTH

public static final String SOUTH
Texto para indicar a posição sul

See Also:
Constant Field Values

EAST

public static final String EAST
Texto para indicar a posição leste

See Also:
Constant Field Values

WEST

public static final String WEST
Texto para indicar a posição oeste

See Also:
Constant Field Values

NORTH_EAST

public static final String NORTH_EAST
Texto para indicar a posição nordeste

See Also:
Constant Field Values

NORTH_WEST

public static final String NORTH_WEST
Texto para indicar a posição noroeste

See Also:
Constant Field Values

SOUTH_EAST

public static final String SOUTH_EAST
Texto para indicar a posição sudeste

See Also:
Constant Field Values

SOUTH_WEST

public static final String SOUTH_WEST
Texto para indicar a posição sudoeste

See Also:
Constant Field Values

CENTER

public static final String CENTER
Texto para indicar a posição centralizada

See Also:
Constant Field Values

ALIGN_LEFT

public static final String ALIGN_LEFT
Texto para indicar o alinhamento à esquerda

See Also:
Constant Field Values

ALIGN_CENTER

public static final String ALIGN_CENTER
Texto para indicar o alinhamento centralizado

See Also:
Constant Field Values

ALIGN_RIGHT

public static final String ALIGN_RIGHT
Texto para indicar o alinhamento à direita

See Also:
Constant Field Values

WRAP_NONE

public static final String WRAP_NONE
Texto para indicar que não deve ser feita quebra de linha

See Also:
Constant Field Values

WRAP_WORD

public static final String WRAP_WORD
Texto para indicar que deve ser feita quebra de linha após uma palavra

See Also:
Constant Field Values

WRAP_CHAR

public static final String WRAP_CHAR
Texto para indicar que deve ser feita quebra de linha após um caracter

See Also:
Constant Field Values
Constructor Detail

TextTool

public TextTool()
Method Detail

setTransforms

public void setTransforms(AffineTransform oT,
                          AffineTransform cT)
Inicializa as matrizes de transformação afim que serão utilizadas para posicionar os componentes gráficos.

Parameters:
oT - matriz de transformação original (pode ser nula).
cT - matriz de transformação atual (pode ser nula).

getBBox

public void getBBox(Graphics2D g2d,
                    String text,
                    Point2D p,
                    String ref,
                    Rectangle2D bbox)
Obtém a caixa envolvente, em coordenadas de mundo, com referência ao ponto fornecido. O ponto pode representar o centro ou um dos pontos cardeais da caixa envolvente. O texto pode conter quebras de linhas.

Parameters:
g2d - ferramenta de desenho.
text - o texto a ser desenhado.
p - o ponto de referência.
ref - a relação entre o ponto e caixa envolvente do texto.
bbox - se fornecido, é preenchido com a caixa envolvente do texto.

draw

public void draw(Graphics2D g2d,
                 String text,
                 Point2D p,
                 String ref)
Desenha um texto, em coordenadas de mundo, com referência ao ponto fornecido. O ponto pode representar o centro ou um dos pontos cardeais da caixa envolvente do texto. O texto deve ter apenas uma linha.

Parameters:
g2d - ferramenta de desenho.
text - o texto a ser desenhado.
p - o ponto de referência.
ref - a relação entre o ponto e caixa envolvente do texto.

draw

public void draw(Graphics2D g2d,
                 String text,
                 Point2D p,
                 String ref,
                 String alignment)
Desenha um texto, em coordenadas de mundo, com referência ao ponto fornecido. O ponto pode representar o centro ou um dos pontos cardeais da caixa envolvente do texto. O texto pode conter quebras de linhas.

Parameters:
g2d - ferramenta de desenho.
text - o texto a ser desenhado.
p - o ponto de referência.
ref - a relação entre o ponto e caixa envolvente do texto.
alignment - o alinhamento do texto, caso tenha mais de uma linha.

wrapText

public String wrapText(Graphics2D g2d,
                       String text,
                       int boxWidth,
                       String wrapStyle)
Quebra um texto em linhas de acordo com a largura permitida. O caracter de quebra de linha é \n. Caso o menor texto, um único caracter ou uma palavra, não couber sozinho na largura, o mesmo é considerado uma nova linha.

Parameters:
g2d - ferramenta de desenho.
text - texto a ser quebrado
boxWidth - largura máxima permitida para o texto
wrapStyle - tipo de quebra de linha (WRAP_CHAR ou WRAP_WORD)
Returns:
texto com quebras de linha ou o texto original, caso o tipo de quebra de linha não seja reconhecido.

draw

public int draw(Graphics2D g2d,
                String text,
                int pos,
                Rectangle2D bbox,
                String wrap,
                String alignment)
Desenha um texto, em coordenadas de mundo, dentro da caixa envolvente fornecida. O texto pode ser quebrado, ou não, horizontalmente caso não caiba na caixa, conforme especificado pelo parâmetro wrap. No caso de quebrar, a preferência pode ser dada a quebrar em espaços, ou quebrar palavras no meio, de modo a ocupar mais cada linha. O texto pode conter quebras de linha. O texto é desenhado a partir do caracter indicado e este método retorna o índice posterior ao último caracter desenhado. Ou seja, no caso de retorno igual ao número de caracteres, o texto foi todo desenhado. Caso contrário, o texto não coube na caixa e o que falta desenhar começa no índice retornado. A altura da caixa fornecida é atualizada para indicar a altura desenhada.

Parameters:
g2d - ferramenta de desenho.
text - texto a ser desenhado.
pos - posição inicial do texto a desenhar.
bbox - caixa envolvente da área na qual o texto deve ser desenhado.
wrap - forma de quebrar linhas horizontais que não caibam na caixa.
alignment - alinhamento das linhas.
Returns:
o índice seguinte ao último caracter desenhado.

getBBox

public int getBBox(Graphics2D g2d,
                   String text,
                   int pos,
                   Rectangle2D bbox,
                   String wrap,
                   String alignment)
Obtém a caixa envolvente, em coordenadas de mundo, como uma caixa contida na caixa fornecida (se o texto não ocupar a caixa toda) ou a própria caixa, se o texto preencher a caixa ou não couber totalmente na caixa.

Parameters:
g2d - ferramenta de desenho.
text - o texto a ser desenhado.
pos - posição inicial do texto a desenhar.
bbox - caixa envolvente da área na qual o texto deve ser desenhado, sua altura pode ser reduzida para se ajustar ao texto desenhado.
wrap - forma de quebrar linhas horizontais que não caibam na caixa.
alignment - alinhamento das linhas.
Returns:
o índice seguinte ao último caracter desenhado.

setTabSize

public void setTabSize(int size)
Configura o tamanho do TAB a ser usado na impressão. O valor default é 45 pixels.

Parameters:
size - o novo tamanho para o TAB


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