Look And Feel + Swing - Assuntos Gerais - GUJ
Look And Feel + Swing
emanoel.almeida Abril 19, 2008, 1:39am #1
Olá pessoal gostaria que vocês me ajudacem a alterar o look and feel dessa classe JFrame que descrevo abaixo. Se puderem alterem a classe abaixo:
//define caracteristicas da janela
super("L&F");
setBounds(300,400,200,100);
//Inseri botão
add(new JButton("Butão1"));
kaique Abril 19, 2008, 6:32am #2
Cara, insere a seguinte linha de comando:
UIManager.setLookAndFeel(String className);
Nessa variável você deverá passar o noma da classe do look and feel que deseja usar.
Dá uma lida nesses links que vai te ajudar a entender melhor:
http://www.javafree.org/javabb/viewtopic.jbb?t=3229
http://www.devx.com/tips/Tip/20570
emanoel.almeida Abril 19, 2008, 11:40am #3
Pessoal, sinto muito mas não consegui. Eu gostaria muito de um exemplo com essa minha classe incluindo os inports necessários. Eu ja coloquei essa parte de código em quase todos os lugares da minha classe junto como argumento "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" mas não consegui nada. Ainda preciso da ajuda de vocês.
Minha classe ficou do geito abaixo e não ficou com aparencia do windows nem com a bixiga preta. Uso a jdk1.7.0.
//	lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();
//	UIManager.setLookAndFeel(lookAndFeel);
kaique Abril 19, 2008, 12:51pm #4
Cara, esse teu código nem tá compilando…
Seguinte, de acordo com o código que você passou, para ele funcionar basta você mudar a seguinte linha de comando:
Remove ela da linha 06 para a linha 17, por exemplo. Você não pode codificar em locais "soltos" pela classe. Dê mais uma estudada em Java, ok?
Outra coisa, antes de setar um Look and Feel em uma aplicação, dá uma verificada nos que estão habilitados pela sua VM. Os Look and Feel habilitados para você, podem ser encontrados assim:
emanoel.almeida Abril 20, 2008, 12:49am #5
Bem pessoal estou voltando aqui pra dizer que consegui mudar o look da minha aplicação e como meu post foi bastante visitado, sinal de que bastante gente tem problemas com looks, resolvi descrever o que aprendi.
Testando no Eclipse e JCreator com jdk1.7.0. É só copilar o codigo abaixo.
super("L&F");
//O codigo que define o look está logo abaixo e
// deve está entre um try catch pra funcionar
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); //Windows
//Inseira qualuquer codigo, se necessário.
//Inserir botão
add(new JButton("Butão1"));
//Principal	ou MAIN
1 - Vocês podem subistituir a string que está no código abaixo pelas strings listadas abaixo para auterarem manualmente os look and feel
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); // Tema do Windows
com.sun.java.swing.plaf.gtk.GTKLookAndFeel - padrão GTK+
javax.swing.plaf.metal.MetalLookAndFeel - Metal
com.sun.java.swing.plaf.windows.WindowsLookAndFeel - Windows
com.sun.java.swing.plaf.motif.MotifLookAndFeel - Motif
javax.swing.plaf.mac.MacLookAndFeel - Mac
2 - Pra facilitar acho melhor mudar o look(usar o comando UIManager.set…) antes de inserir os componentes da janela(EX: Botões, Caixas de texto…) como fiz acima. Assim todos os componentes já "Chegarão" com a aparencia definida. Mas caso precise mudar o look&Feel após inserir objetos, use o comando abaixo para atualizar os componentes Antigos;
3 - Se vocês quiserem obter os looks & feel instalados usem o comando abaixo
Esse comando cria um aray(instalados) contendo o nome(aquelas que descrevi mais acima) dos temas disponiveis na sua jvm.
dai você se refere ao tema como: instalados[Número do aray].getClassName() ex:
Onde o Nº corresponde a aparencia desejada: ex: 0 = Metal, 1 = Morfit, 2 = Windows …
Então é isso pessoal, tentei simplificar o máximo que pude pra que vocês tivessem a sua frente apenas o que gostariam de fazer que é o mudar o look. Sem muito código desnecessários. E gostaria de pedir aos membros desse forum que tivessem mais boa vontade em ajudar e não penas em ganhar pontuação ou aumentar o numero de posts.
Ai vai o link do tutorial que me ajudou a entender: http://forum.ievolutionweb.com/index.php?showtopic=2851
os citados acima tambem me foram úteis.
Obrigado a todos e espero ter ajudado.
kaique Abril 21, 2008, 12:55am #6
Só um pequeno detalhe…
Acho que o Java 7.0 anda não saiu. Se você está usando a última versão, deve estar usando o Java 6…
emanoel.almeida Abril 21, 2008, 4:11pm #7
Eu não falei que estava usando o java 7 e sim que minha versão do jdk era 1.7.0-ea. Porque a propósito não fui eu quem escrevi isso "jdk-7-ea-bin-b24-windows-i586-04_dec_2007.exe". Baixei direto do site da sun.
Da uma procurada melhor e deixa de ficar provocando, ta? Estou aqui pra aprender e não pra discutir besteiras.
kaique Abril 21, 2008, 4:46pm #8
Rapaiz, da mesma forma que você está tentando ajudar em publicar esse código, eu também estou tentando ajudar comentando sobre detalhes. Isso acontece muito aqui no fórum.
Caso você não tenha percebido, eu fui a única pessoa que te ajudou nesse post. Acho que você deveria ser menos esquentado e reconhecer quando pessoas estão tentando ajudar e não "provocando" como você está dizendo. Aliás, se você entendeu como provocação as coisas que escrevi, acho que você devia amadurecer um pouco mais antes de participar de listas de dicussões públicas.