tecgraf.javautils.gui
Class GUIUtils

java.lang.Object
  extended by tecgraf.javautils.gui.GUIUtils

public class GUIUtils
extends Object

Classe de métodos utilitários para a construção de interfaces gráficas.

Author:
Maria Julia e Ana Moura
See Also:
GUIUtilsSample

Nested Class Summary
static class GUIUtils.Position
          Posições possíveis da janela em relação ao X (LEFT, CENTER e RIGHT) e ao Y (TOP, MIDDLE e BOTTOM) Alterações aqui devem ser refletidas em placeWindowAt(Window, Position)
 
Field Summary
static Color DEFAULT_DISABLED_TEXT_COLOR
          Cor default para labels desabilitados.
static Font DEFAULT_LABEL_PLAIN_FONT
          Fonte "plain" default (obtida a partir da fonte default para labels, sem o atributo "bold").
static Color DEFAULT_PANEL_BACKGROUND_COLOR
          Cor de fundo default para diálogos (cor de fundo default dos painéis).
 
Constructor Summary
GUIUtils()
           
 
Method Summary
static void addWithGridBagConstraints(Container container, Component component, GridBagConstraints constraints, int horizontalIndex, int verticalIndex, int colSpan, int rowSpan, int horizontalWeight, int verticalWeight)
          Método de conveniência para adicionar um Component a um Container usando um GridBagLayout.
static void applyUndoRedoActions(JTextComponent textcomp)
          Aplica e gerencia ações de 'desfazer' e 'refazer' no componente de texto indicado.
static void centerOnScreen(Window window)
           Centraliza uma janela na tela.
static void centerWindow(Window window, Window refWindow)
          Centraliza uma janela em relação a outra janela de referência.
static JPanel createBasicGridPanel(JComponent[][] rows)
          Cria um painel "básico", em forma de grade na forma do método mountBasicGridPanel
static Icon createEmptyIcon(int width, int height)
          Cria um ícone "vazio" (transparente) com dimensões específicas.
static JButton createImageButton(Icon icon)
          Cria um botão com o ícone especificado.
static Dimension getScreenDimension()
           Obtém as dimensões da tela do monitor principal.
static void matchPreferredSizes(JComponent... components)
          Iguala as dimensões desejadas de um conjunto de componentes usando como base a maior medida em cada dimensão.
static void mountBasicGridPanel(JPanel panel, JComponent[][] rows)
          Monta um painel "básico", em forma de grade, diagramado por um GridBagLayout.
static void placeWindowAt(Window window, GUIUtils.Position pos)
          Coloca uma janela em uma determinada posição na tela
static void showErrorByButton(Window window, String msg, JButton button)
          Aviso de erro de preenchimento em um botão.
static void showErrorByTextField(Window window, String msg, JLabel label, JTextField field)
          Aviso de erro de preenchimento em um JLabel que esteja qualificando um JTextField.
static void translateSwingComponents(Locale locale, List<?> baseNameList)
          Traduz os componentes do Swing.
static void trimImageButton(AbstractButton button)
          Ajusta o tamanho de um botão contendo um ícone para que ele fique praticamente do mesmo tamanho do seu ícone (fora as margens).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PANEL_BACKGROUND_COLOR

public static final Color DEFAULT_PANEL_BACKGROUND_COLOR
Cor de fundo default para diálogos (cor de fundo default dos painéis).


DEFAULT_DISABLED_TEXT_COLOR

public static final Color DEFAULT_DISABLED_TEXT_COLOR
Cor default para labels desabilitados.


DEFAULT_LABEL_PLAIN_FONT

public static final Font DEFAULT_LABEL_PLAIN_FONT
Fonte "plain" default (obtida a partir da fonte default para labels, sem o atributo "bold").

Constructor Detail

GUIUtils

public GUIUtils()
Method Detail

trimImageButton

public static final void trimImageButton(AbstractButton button)
Ajusta o tamanho de um botão contendo um ícone para que ele fique praticamente do mesmo tamanho do seu ícone (fora as margens). O método usa a constante Config.IMAGE_BUTTON_MARGIN para definir a margem a ser usada entre a borda do botão e a borda do seu ícone interno.

Parameters:
button - botão a ser ajustado.
Throws:
IllegalArgumentException - se houver erro de parametrização.

createImageButton

public static JButton createImageButton(Icon icon)
Cria um botão com o ícone especificado. O tamanho do botão é ajustado para exibir adequadamente a imagem (ver trimImageButton(AbstractButton)).

Parameters:
icon - ícone para o botão.
Returns:
botão com o ícone criado.

createEmptyIcon

public static Icon createEmptyIcon(int width,
                                   int height)
Cria um ícone "vazio" (transparente) com dimensões específicas.

Parameters:
width - - largura
height - - altura
Returns:
ícone transparente com as dimensões especificadas

addWithGridBagConstraints

public static final void addWithGridBagConstraints(Container container,
                                                   Component component,
                                                   GridBagConstraints constraints,
                                                   int horizontalIndex,
                                                   int verticalIndex,
                                                   int colSpan,
                                                   int rowSpan,
                                                   int horizontalWeight,
                                                   int verticalWeight)
Método de conveniência para adicionar um Component a um Container usando um GridBagLayout. O método não verifica a corretude dos parâmetros de restrição, ficando tal responsabilidade a cargo do desenvolvedor.

Parameters:
container - Container que receberá o Component.
component - componente a ser adicionado de acordo com as especificações passadas.
constraints - objeto que representa as restrições do GridBagLayout.
horizontalIndex - posição horizontal do elemento na grade.
verticalIndex - posição vertical do elemento na grade.
colSpan - número de colunas que o componente irá ocupar.
rowSpan - número de linhas que o componente irá ocupar.
horizontalWeight - peso do componente em relação aos demais para redimensionamentos horizontais.
verticalWeight - peso do componente em relação aos demais para redimensionamentos verticais.
Throws:
IllegalArgumentException - se o container, o component ou as constraints forem nulos.
See Also:
GridBagLayout

matchPreferredSizes

public static final void matchPreferredSizes(JComponent... components)
                                      throws IllegalArgumentException
Iguala as dimensões desejadas de um conjunto de componentes usando como base a maior medida em cada dimensão.

Parameters:
components - conjunto de componentes de tamanhos potencialmente diferentes.
Throws:
IllegalArgumentException - se houver erro de parametrização.

showErrorByButton

public static void showErrorByButton(Window window,
                                     String msg,
                                     JButton button)
                              throws IllegalArgumentException
Aviso de erro de preenchimento em um botão. O botão apresenta um ícone de erro, o sistema toca um "bip" de aviso e a mensagem de erro especificada é exibida. Após o usuário fechar o diálogo da mensagem, o botão retoma seu aspecto normal.

Parameters:
window - janela no qual ocorreu o erro. Pode ser null.
msg - mensagem de erro a ser exibida.
button - botão que irá apresentar o ícone de erro.
Throws:
IllegalArgumentException - se houver erro de parametrização.

showErrorByTextField

public static void showErrorByTextField(Window window,
                                        String msg,
                                        JLabel label,
                                        JTextField field)
Aviso de erro de preenchimento em um JLabel que esteja qualificando um JTextField. O JLabel apresenta um ícone de erro, o sistema toca um "bip" de aviso e a mensagem de erro especificada é exibida. Após o usuário fechar o diálogo da mensagem, o JLabel retoma seu aspecto normal e o foco passa para o JTextField.

Parameters:
window - janela no qual ocorreu o erro. Pode ser null.
msg - mensagem de erro a ser exibida.
label - JLabel que irá apresentar o ícone de erro.
field - JTextField com o texto a ser corrigido.
Throws:
IllegalArgumentException - se houver erro de parametrização.

createBasicGridPanel

public static final JPanel createBasicGridPanel(JComponent[][] rows)
Cria um painel "básico", em forma de grade na forma do método mountBasicGridPanel

Parameters:
rows - matriz contendo os componentes a serem inseridos no painel. Cada linha da matriz contém os componentes da linha correspondente no painel.
Returns:
o JPanel criado.
See Also:
mountBasicGridPanel(JPanel, JComponent[][])

mountBasicGridPanel

public static final void mountBasicGridPanel(JPanel panel,
                                             JComponent[][] rows)
Monta um painel "básico", em forma de grade, diagramado por um GridBagLayout. Este tipo de painel é utilizado, tipicamente, em diálogos que solicitam um conjunto de parâmetros alfanuméricos. É composto por um número variável de linhas contendo de 1 a 3 (por default) componentes com as seguintes características: OBSERVAÇÕES:

Parameters:
panel - o painel a ser montado.
rows - matriz contendo os componentes a serem inseridos no painel. Cada linha da matriz contém os componentes da linha correspondente no painel.

centerOnScreen

public static final void centerOnScreen(Window window)

Centraliza uma janela na tela.

OBS: Caso esteja sendo usado para exibir a janela em uma máquina com mais de um monitor, centraliza a janela na tela do monitor principal (padrão).

Apenas chama placeWindowAt(window, Position.CENTER_MIDDLE). Foi mantido para garantir compatibilidade com aplicações que já chamavam esse método, ao invés do placeWindowAt

Parameters:
window - A janela a ser centralizada.
Throws:
IllegalArgumentException - Caso a janela recebida seja nula.
See Also:
placeWindowAt(Window, Position)

centerWindow

public static void centerWindow(Window window,
                                Window refWindow)
Centraliza uma janela em relação a outra janela de referência. Se a janela de referência não estiver sendo exibida, a referência é substituída pela janela que a contém (seu owner) até que seja encontrada uma janela que esteja sendo exibida, ou que se chegue ao fim da sequência. Se a janela de referência for nula, ou não houver janela de referência sendo exibida, centraliza em relação à tela.

Parameters:
window - janela a ser centralizada.
refWindow - janela de referência.

placeWindowAt

public static final void placeWindowAt(Window window,
                                       GUIUtils.Position pos)
Coloca uma janela em uma determinada posição na tela

Parameters:
window - A janela a ser posicionada
pos - A posição em que deve fica (BOTTOM_UP, CENTER_RIGHT etc.). De acordo com Enumeration GUIUtils.Position
Throws:
IllegalArgumentException - Caso a janela recebida seja nula ou caso a posição seja inválida

getScreenDimension

public static final Dimension getScreenDimension()

Obtém as dimensões da tela do monitor principal.

Returns:
As dimensões da tela do monitor principal.

translateSwingComponents

public static void translateSwingComponents(Locale locale,
                                            List<?> baseNameList)
Traduz os componentes do Swing.

Parameters:
locale - O locale que define o idioma para o qual se deseja traduzir.
baseNameList - Uma lista com os caminhos dos arquivos que contém as mensagens traduzidas. O nome de cada arquivo é o nome base para o arquivo conforme indicação na classe ResourceBundle.

applyUndoRedoActions

public static void applyUndoRedoActions(JTextComponent textcomp)
Aplica e gerencia ações de 'desfazer' e 'refazer' no componente de texto indicado.

Parameters:
textcomp - - o componente de texto que será incrementado.


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