Look And Feel + Swing

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:

import java.awt.*;
import javax.swing.*;

public class Janela extends JFrame{
//define caracteristicas da janela
	public Janela(){
		super("L&F");
		setLayout(new GridLayout(2,3));
		setBounds(300,400,200,100);

//Inseri botão
		add(new JButton("Butão1"));
	}
//Principal	
	public static void main (String[] args) {
		new Janela().setVisible(true);
	}
}

Obrigado a todos.

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

[]'s.

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.

import java.awt.*;
import javax.swing.*;

public class Janela extends JFrame{
	
	UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

//	lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();
//	UIManager.setLookAndFeel(lookAndFeel);
	
	
//define caracteristicas da janela
	public Janela(){
		super("L&F");
		setLayout(new GridLayout(2,3));
		setBounds(300,400,200,100);

//Inseri botão
		add(new JButton("Butão1"));
	}
//Principal	
	public static void main (String[] args) {
		new Janela().setVisible(true);
	}
}

Obrigado.

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:

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

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:

UIManager.LookAndFeelInfo[] looks = UIManager.getInstalledLookAndFeels();

[]'s.

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.

[code]import java.awt.;
import javax.swing.
;
import javax.swing.plaf.metal.*;
public class Janela extends JFrame{

//define caracteristicas da janela
public Janela(){
super(“L&F”);
setLayout(new GridLayout(2,3));
setBounds(300,400,200,100);

	 //O codigo que define o look está logo abaixo e
	 // deve está entre um try catch pra funcionar
	try {
	
		UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); //Windows
	
	}catch(Exception e) {
		//Inseira qualuquer codigo, se necessário.
	}

//Inserir botão
add(new JButton(“Butão1”));
}
//Principal ou MAIN
public static void main (String[] args) {
new Janela().setVisible(true);
}
}[/code]

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;
SwingUtilities.updateComponentTreeUI(this);

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.

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…

[]'s.

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.

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.
Enfim, a vida é um processo evolutivo. Vivendo e aprendendo…

[]'s.