Matchola, não tem mistério para usar, é só fazer algo do gênero:
SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){try{UIManager.setLookAndFeel(newSubstanceLookAndFeel());//inicia app ou outra verificação... }catch(Exceptione){e.printStackTrace();System.err.println("UIManager nao suportado!");}}});
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();
}
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.
Lina no link que você passou encontrei o código do gcoutinho
publicstaticvoidmain(String[]args){StringLAFName="org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel";try{UIManager.setLookAndFeel(LAFName);}catch(Exceptione){System.out.println("Substance "+LAFName+" failed to initialize");}SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){//inicialização da parte GUI do seu programa }});}