Codigo parar carregar skins [RESOLVIDO]

6 respostas
Matchola

Bom pessoal, eu cansei um pouco do visual padrão do Java
e gostaria de mudar seu visual usando Skins, achei esses Skins na net:

http://www.easynth.com/
https://substance.dev.java.net/
http://personales.ya.com/nimrod/index-en.html
http://napkinlaf.sourceforge.net/
http://dock.javaforge.com/
http://www.randelshofer.ch/quaqua/index.html
http://www.muntjak.de/hans/java/tinylaf/index.html
http://www.jtattoo.net/

E gostaria de saber como os carrego para utilizar no meu projeto. Se alguém
poder mandar o código de como eu faço isso eu ficaria grato.

Obrigado a quem poder ajudar.

6 Respostas

Ironlynx
Matchola, não tem mistério para usar, é só fazer algo do gênero:
SwingUtilities.invokeLater(new Runnable(){          	 
             public void run(){
             	 try{    	
    	      UIManager.setLookAndFeel(new SubstanceLookAndFeel());  
    	      	//inicia app ou outra verificação...						
    	            }catch(Exception e){
		              e.printStackTrace();
		              System.err.println("UIManager nao suportado!"); 
		            }	
               	
             }
         });
Essa dica tem geralmente aí mesmo onde vc baixou algum desses L&F´s... EDIT: aqui https://substance.dev.java.net/docs/getting-started.html
Matchola

Então gente eu baixei Substance 5.3 distribution do link abaixo:
https://substance.dev.java.net/servlets/ProjectDocumentList?folderID=11439
É um ponto zip, eu extrai os arquivos, agora a dúvida o que eu faço
com as pastas que eu extrai do arquivo para usar o código do link:
https://substance.dev.java.net/docs/getting-started.html

Obrigado a quem poder ajudar!!

lina

Oi,

Para utilizar o Substance precisa fazer algumas "perfumarias":

Adicione a biblioteca ao classpath do projeto e utilize o método setLookAndFeel(LookAndFeel laf), de UIManager, durante a execução de main para alterar o look and feel programaticamente.

Tenta assim:

try {
     // Define o look and feel.
     UIManager.setLookAndFeel(new SubstanceBusinessLookAndFeel());
     
     // Escurece o tema.
     SubstanceLookAndFeel.setCurrentTheme(new SubstanceCremeTheme().shade(0.1));
     
     // Define o watermark.
     SubstanceLookAndFeel.setCurrentWatermark(new SubstanceMetalWallWatermark()); 

     // Ajusta a forma dos botões.
     SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());

     // Gradient painters for buttons.
     SubstanceLookAndFeel.setCurrentGradientPainter(new WaveGradientPainter()); 

     // Faz com que o watermark vaze (bleed) por componentes opacos, como JTextField's.
     // Note a área de texto da figura abaixo.
     UIManager.put(SubstanceLookAndFeel.WATERMARK_TO_BLEED, Boolean.TRUE);

     // Ajusta localização e quantidade de botões da bara de rolagem (scrolbar)
     // Perceba na figura abaixo que a scrolbar possui três botões.
     UIManager.put(SubstanceLookAndFeel.SCROLL_PANE_BUTTONS_POLICY,
                SubstanceConstants.ScrollPaneButtonPolicyKind.MULTIPLE);
} catch (UnsupportedLookAndFeelException ex) {
     ex.printStackTrace();
}

Tchauzin!

Matchola
Então eu baixei o .jar do substance no seguinte link: http://galeradacomp.wordpress.com/2008/10/11/visual-java-usando-biblioteca-substance/ E coloquei ele no meu projeto. Só que não sei porque, quando eu tento aplicar o skin com o código da lina
try {  
     // Define o look and feel.  
     UIManager.setLookAndFeel(new SubstanceBusinessLookAndFeel());  
/*Não esta funcionando       
     // Escurece o tema.  
     SubstanceLookAndFeel.setCurrentTheme(new SubstanceCremeTheme().shade(0.1));  
       
     // Define o watermark.  
     SubstanceLookAndFeel.setCurrentWatermark(new SubstanceMetalWallWatermark());   
  
     // Ajusta a forma dos botões.  
     SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());  
  
     // Gradient painters for buttons.  
     SubstanceLookAndFeel.setCurrentGradientPainter(new WaveGradientPainter());   
  
     // Faz com que o watermark vaze (bleed) por componentes opacos, como JTextField's.  
     // Note a área de texto da figura abaixo.  
     UIManager.put(SubstanceLookAndFeel.WATERMARK_TO_BLEED, Boolean.TRUE);  
  
     // Ajusta localização e quantidade de botões da bara de rolagem (scrolbar)  
     // Perceba na figura abaixo que a scrolbar possui três botões.  
Não esta funcionando*/
     UIManager.put(SubstanceLookAndFeel.SCROLL_PANE_BUTTONS_POLICY,  
                SubstanceConstants.ScrollPaneButtonPolicyKind.MULTIPLE);  
} catch (UnsupportedLookAndFeelException ex) {  
     ex.printStackTrace();  
}
Não dá certo. Tipo que o fundo do JFrame fica com a cor do skin que eu utilizo, só que não aparece nada no meu JFrame, ou seja, ele vazio apenas com seu fundo da cor do skin que eu utilizo. E dá um monte de erro, a primeira linha dos erros é:[color=red] org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread[/color] Como eu faço para dá certo??

Obrigado!!

lina

Oi,

Se eu não me engano você terá que utilizar o invokeLater do SwingUtilities para construir sua GUI.

Da uma olhada aqui:

http://www.guj.com.br/posts/list/103684.java

Tchauzin!

Matchola
Lina no link que você passou encontrei o código do gcoutinho
public static void main(String[] args) {  
    String LAFName = "org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel";  
  
    try {  
        UIManager.setLookAndFeel(LAFName);    
    } catch (Exception e) {  
        System.out.println("Substance " + LAFName + " failed to initialize");  
    }  
    SwingUtilities.invokeLater(new Runnable() {  
        public void run() {  
            //inicialização da parte GUI do seu programa  
        }  
    });  
}
Que funcionou!!! Obrigado pela atenção Lina!!
Criado 11 de outubro de 2009
Ultima resposta 15 de out. de 2009
Respostas 6
Participantes 3