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:
[code]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);
Então eu baixei o .jar do substance no seguinte link:
E coloquei ele no meu projeto. Só que não sei porque, quando eu tento aplicar o skin com o código da lina
[code]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();
} [/code]
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??
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
}
});
} [/code]
Que funcionou!!! Obrigado pela atenção Lina!!