sábado, 31 de maio de 2008

Look and Feel no Java

Look and Feel é basicamente a aparência que sua aplicação irá tomar, definindo a forma como os componentes irão ser apresentados na tela.

try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);
this.pack();
} catch(Exception e) {
e.printStackTrace();
}
SwingUtilities.updateComponentTreeUI(this) serve para atualizar os componentes caso eles já estejam criados. Caso os componentes ainda não foram inicializados, esta linha é desnecessária, juntamente com this.pack().

Alguns LookAndFeell's
com.sun.java.swing.plaf.gtk.GTKLookAndFeel (padrão GTK+)
javax.swing.plaf.metal.MetalLookAndFeel (Metal)
com.sun.java.swing.plaf.windows.WindowsLookAndFeel (Windows)
com.sun.java.swing.plaf.motif.MotifLookAndFeel (Motif)
javax.swing.plaf.mac.MacLookAndFeel (Mac)
Alguns LookAndFeel's podem gerar exceções por não existirem ou não estarem instalados no sistema ou não serem suportados em determinada plataforma. Alguns layouts, dependendo da plataforma, podem apresentar formatos diferentes em determinados componentes, como botões e caixas de texto, fazendo com que a aparência da aplicação fique desorganizada.

JDance é um site com vários LAF disponíveis para download.

Vários links sobre LAF:

1 comentários:

Unknown disse...

Oi Anderson,

Criei recentemente um componente para facilitar o uso da API de look-and-feel do Swing. Usando ele fica bem tranquilo fazer esse esquema de mudar o look dinamicamente com um menu ou algo parecido. É um componente opensource e está disponível no googlecode.

http://code.google.com/p/easylookandfeel/