E ai povo beleza?
E o seguinte, preciso alterar o LAF da minha aplicação através de botões. Ja procurei e achei um monte de coisa aqui no guj, mas nenhuma que resolvesse meu problema
importjava.awt.Component;importjavax.swing.SwingUtilities;importjavax.swing.UIManager;importjavax.swing.UIManager.LookAndFeelInfo;/** * @author Ivan * Criado em 15/12/2010 */publicclassMudarVisual{//variaveis staticas finaispublicstaticfinalintVISUALJAVA=1;publicstaticfinalintVISUALSO=2;publicstaticfinalintVISUALNIMBUS=3;publicstaticfinalintVISUALLIQUID=4;//visual JTattoopublicstaticfinalintVISUALJTATTOOAERO=5;publicstaticfinalintVISUALJTATTOONOIRE=6;///////////////////////////////////////////////////////////////////////Estilo de visualizaçãopublicstaticbooleanlookAndFeel(Componentcomp,intvisual){booleanmudou=true;//se mudar o visual manda true senão falsetry{switch(visual){caseVISUALJAVA:UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());break;caseVISUALSO:UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());break;caseVISUALNIMBUS:mudou=false;for(LookAndFeelInfoinfo:UIManager.getInstalledLookAndFeels()){if("Nimbus".equals(info.getName())){UIManager.setLookAndFeel(info.getClassName());mudou=true;break;}}break;caseVISUALLIQUID:UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");break;caseVISUALJTATTOOAERO:UIManager.setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel");break;caseVISUALJTATTOONOIRE:UIManager.setLookAndFeel("com.jtattoo.plaf.noire.NoireLookAndFeel");break;}//adiciona look and feel ao componenteSwingUtilities.updateComponentTreeUI(comp);}catch(Exceptionex){mudou=false;}returnmudou;}}
Para chamar é bem simples use o código
//onde está seuComponente você passa o componente a ser alterado o visual geralmente o JFrameMudarVisual.lookAndFeel(seuComponente,MudarVisual.VISUALNIMBUS);
Obs.: tem alguns visuais com VISUALLIQUID, VISUALJTATTOOAERO que só será visto se você adicionar suas respectivas bibliotecas