Eu finalmente consegui aprender a usar o Look & Feel mas só usando ele no método main, mas eu queria por ele numa opção de menu e o usuário mudasse em tempo real!!! Eu vi isso no site da sun mas não deu certo:
Vc quer um L&F dinâmico certo?Eu faço + ou - assim:
Declaro umas constantes com meus L&F´s:
protected static final String mac =
"com.birosoft.liquid.LiquidLookAndFeel";
protected static final String metal =
"javax.swing.plaf.metal.MetalLookAndFeel";
protected static final String skin =
"com.l2fprod.gui.plaf.skin.SkinLookAndFeel";
protected static final String windows =
"de.muntjak.tinylookandfeel.TinyLookAndFeel";
protected static final String kunststoff =
"com.incors.plaf.kunststoff.KunststoffLookAndFeel";
Faço um método para “mudar a aparência”-agirá através dos radioButtons
selecionados!
/*
* @method mudaAparencia mudará a aparência da tela principal do programa
* @return void
*/
public void mudaAparencia(String aparencia){
try {
UIManager.setLookAndFeel(aparencia);
SwingUtilities.updateComponentTreeUI(frame);
}
catch (InstantiationException e) {
e.printStackTrace();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (UnsupportedLookAndFeelException e){
e.printStackTrace();
}
catch (IllegalAccessException e) {
e.printStackTrace();
}
frame.repaint();
//frame.pack();-não usar!
}//fim de mudaAparencia()
implemento a interface ItemListener e no método itemStateChanged, faço assim:
public void itemStateChanged(ItemEvent e) {
if(rbMenuItem[0].isSelected()){
mudaAparencia(kunststoff);
}
else if(rbMenuItem[1].isSelected())
mudaAparencia(mac);
else if
blablabala...
}
Dae amigo, deu certinho, eu acho que o problema era o repaint né?! Mas só teve um problema, os L&F skin, kunststoff e metal não funcionam, somente o GTK e um outro feio!!! O Windows só funciona no Windows mesmo, isso eu já testei agora pouco, o do Mac deve ser a mesma coisa!!! O GTK só funciona no Linux eu presumo!!!
os L&F skin, kunststoff(não estão na jdk!), vc tem q ir na página deles baixar para usar com sua aplicação!O metal e dah versão 1.4 da JDK, agora é a ocean…
esses q eu coloquei eh só um exemplo… a maioria dos L&F vc tem q baixar…
Alguns: http://www.javootoo.com/ http://www.l2fprod.com/
Cara, perai, vc nao entendeu try/catch direito e ta se preocupando com Look’n’Feel da Swing? Isso nao eh jogar o carro na frente dos bois, eh jogar o carro EM CIMA dos bois, em trilho eletrificado