Oi, como eu faço para que todos os formulários do meu aplicativo recebam automaticamente o “skin” do sistema operacional?
Eu não faço nem ídeia de como trabalhar como Look and Feel.
Veja os links abaixo:
http://www.exampledepot.com/egs/javax.swing/LookFeel.html
http://www.exampledepot.com/egs/javax.swing/LookFeelNative.html
Obrigado, eu testei, so que ele não ficou com a skin diferente, ele so tirou o efeito “3D” dos botões.
Acho que você tem que mexer com os pacotes do próprio Sistema Operacional (acho que tipo usar os Frameworks… uma vez me falaram que tinha que baixar coisas do site da Microsoft, daí nem tentei). Mas acredito que com o Linux seja mais fácil (acredito que seja o Matisse).
OOOOOOOOOOOOOUUUUUUUUUUUU
Você pode dar uma pesquisada nos artigos do GUJ sobre SWT, que dizem MUITA coisa.
Acho que o que você quer mesmo é SWT.
Abraço.
Já dei uma pesquisada na Google sobre isso e os sites que encontrei, dão os mesmos códigos, ai tentei várias skis e nada.
eu uso esse codigo aki dentro do metodo main e funciona normal (win98 ou xp são os q eu testei)
try {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
} catch (InstantiationException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
Oi, tentei os códigos em dois computadores e não funciona, ele fica assim como na imagem anexada.
No NetBeans eu criei um “Desktop Application” e lá ele fica com a cara do S.O., mas ele é cheio de Units que não entendo.
O botão com cara de Windows que está aparecendo é por causa que usei um componente AWT.
Coloca o codigo dessa classe aí…
O código é o mesmo que você me passou. Eu adicionei ele no actionPerformed do botão.
se vc adicionou no actionPerformed, vc tem q colocar uma outra açao depois do codigo para poder atualizar a UI
Eu acho q o codigo é esse:
SwingUtilities.updateComponentTreeUI(this),
Se nao for isso vai ser algo do tipo
UIManager.reload, ou sei la oq
Ahaaaa, funcionou cara, valeu.
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
try {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
} catch (InstantiationException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
SwingUtilities.updateComponentTreeUI(this);
Bom, assunto resolvido, mas outra dúvida. Existem outros look and feel disponíveis?
Cara, tem já logo vários !!!
Procura no forum aí q vc vai achar, eu não sei de cabeça !!
Outra coisa, como eu faço que ao cirar o form já receba o L&F? Pois nos exemplos ele tem que clicar num botão para fazer isso.
Coloca o codigo q eu te passei no metodo main do form.
Nao precisa colocar a linha do swing utilities…
Eu tava vendo umas coisas no NetBeans 6 e vi que ele gera um exemplo em que existe um arquivo de propriedade, tal arquivo leva configurado o tema que o programa vai usar. Alguem já chegou a usar?
Eu nunca usei não velho…