Sexta-feira, Janeiro 26, 2007

Look And Feel

A interface gráfica de um aplicativo desenvolvido sobre a plataforma Java pode tornar-se mais bonita, agradável e eficaz utilizando o look and feel certo. Simplificadamente, look and feel é a aparência e o comportamento de um programa.

A Sun JRE (Java Runtime Environment) fornece quatro look and feels:

  • CrossPlatformLookAndFeel (Metal) - look and feel padrão, semelhante em todas as plataformas
  • SystemLookAndFeel - look and feel nativo do sistema operacional em que o software está rodando
  • Synth - pode ser facilmente customizado a partir de arquivos XML, até mesmo por não-programadores.
  • Multiplexing - pode ser extendido e delegar serviços UI para mais de um look and feel.

Look and Feels Recomendados

Definindo um Look and Feel


Especifique o look and feel do aplicativo programaticamente através do javax.swing.UIManager - deve ser a primeira tarefa de um aplicativo.

public static void main(final String args[]) {
.....java.awt.EventQueue.invokeLater(new Runnable() {
..........public void run() {
...............try {
....................UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
...............} catch (UnsupportedLookAndFeelException ex) {
....................ex.printStackTrace();
...............} catch (IllegalAccessException ex) {
....................ex.printStackTrace();
...............} catch (InstantiationException ex) {
....................ex.printStackTrace();
...............} catch (ClassNotFoundException ex) {
....................ex.printStackTrace();
...............}
...............new MyApplication().setVisible(true);
..........}
.....});
}

Opcionalmente, especifique através da linha de comando.

java -Dswing.defaultlaf=com.jgoodies.looks.plastic.Plastic3DLookAndFeel MyApplication

Há ainda a opção de ajustar o look and feel por um arquivo de propriedades chamado swing.properties, ajustando a propriedade swing.defaultlaf. Esse arquivo deve estar na pasta lib da Sun JRE.

swing.defaultlaf=com.jgoodies.looks.plastic.Plastic3DLookAndFeel

Alterando o Look and Feel Durante a Execução de um Programa

Invoque o método updateComponentTreeUI(Component c), de SwingUtilities, para alterar o look and feel de um aplicativo já em execução. O método pack(), de JFrame, serve para redimensionar corretamente a janela (frame) de acordo com o novo look and feel.

UIManager.setLookAndFeel(lafName);
SwingUtilities.updateComponentTreeUI(aFrame);
aFrame.pack();

Leitura Recomendada:
Fontes Utilizadas:

0 comentários: