Erro JButton

Coloque uma imagem para melhor visualizar o erro, o codigo me pareçe estar correto mas eu não consigo usar o JButton,
ja istalei o Jdk, eclipse e netbeans novamente…mas o erro continua.

[code]import javax.swing.JFrame;
import javax.swing.JButton;

class JButton {
public static void main (String [] args) {
JFrame frame = new JFrame(“JButton”);
frame.setVisible(true);
frame.setSize(400,400);
frame.setLayout(null);
JButton button = new JButton(“Eu sou um JButton!”);
//button.setSize(200,100);
button.setBounds(50, 50, 200, 100);
//button.setBackground( Color.WHITE );
frame.add(button);
}
}
[/code]


Como voce esta usando o Eclipse, aperte e segure CTRL + SHIFT + O (é a letra o) ele organiza os imports, veja se ajuda.

Além disso, mova o setVisible para a última linha do seu programa.

Não é boa prática deixar visível uma janela antes que todos os seus componentes estejam nela.

Está faltando um extends no JFrame

class JButton extends JFrame{ 
...
}

[quote=Fiama_ssantos]Coloque uma imagem para melhor visualizar o erro, o codigo me pareçe estar correto mas eu não consigo usar o JButton,
ja istalei o Jdk, eclipse e netbeans novamente…mas o erro continua.

[code]import javax.swing.JFrame;
import javax.swing.JButton;

class JButton {
public static void main (String [] args) {
JFrame frame = new JFrame(“JButton”);
frame.setVisible(true);
frame.setSize(400,400);
frame.setLayout(null);
JButton button = new JButton(“Eu sou um JButton!”);
//button.setSize(200,100);
button.setBounds(50, 50, 200, 100);
//button.setBackground( Color.WHITE );
frame.add(button);
}
}
[/code]

[/quote]

Mas quando coloco dessa forma ele funciona normalmente, isso esta aconteçendo com varias outras classe JButton, JFrame…

import javax.swing.JFrame;
//import javax.swing.JButton;


class JButton {
	public static void main (String [] args) {
		JFrame frame = new JFrame("JButton");
		frame.setVisible(true);
		frame.setSize(400,400);
		frame.setLayout(null);
		javax.swing.JButton button = new javax.swing.JButton("f");
		//button.setSize(200,100);
		button.setBounds(50, 50, 200, 100);
		//button.setBackground( Color.WHITE );
		frame.add(button);
	}
}

O problema é que você deu o nome da sua classe de JButton. Aí o Swing não tem como adivinhar que o JButton que você se refere dentro do main é o javax.swing.JButton.

Na linha 05 do seu código, dê o nome da sua classe de qualquer outra coisa, como JanelaJButton, e o código sem o nome completo vai funcionar.

Não é uma boa prática criar o Frame pelo método main, copie e cole o codigo abaixo, adaptei do seu, e veja se o erro persiste, outra coisa, nao estou sendo grosso, mas NUNCA PONHA o nome da classe igual o nome de classes que ja existem, heheheheheeh, talvez por isso o erro, voce ta colocando o nome da sua classe de JButton, so que isso ja existe e deve ta dando conflito:

import javax.swing.JFrame;  
import javax.swing.JButton;  
  
  
public class Botao extends JFrame {  

    public Botao() {
        
        JButton button = new JButton("Eu sou um JButton!");  
        //button.setSize(200,100);  
        button.setBounds(50, 50, 200, 100);  
        //button.setBackground( Color.WHITE );  
        add(button); 
        
         setVisible(true);  
        setSize(400,400);  
        setLayout(null); 
        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

    public static void main (String [] args) {  
        new Botao();
    }  
}

Escreve assim

public class NovoJanela extends JFrame{
        
    public NovoJanela() {
        
        setTitle("Botao");
        Container c = getContentPane();
        c.setLayout(null);
        
        JButton botao = new JButton("Botao"); 
        botao.setBounds(100, 100, 300, 30);
        c.add(botao);
        
        setSize(600,600);
        setLocationRelativeTo(null);
	setVisible(true);
        
    }
    
    public static void main(String[] args) {
        new NovoJanela().setVisible(true);
    }
    
}

[quote=rof20004]Não é uma boa prática criar o Frame pelo método main, copie e cole o codigo abaixo, adaptei do seu, e veja se o erro persiste, outra coisa, nao estou sendo grosso, mas NUNCA PONHA o nome da classe igual o nome de classes que ja existem, heheheheheeh, talvez por isso o erro, voce ta colocando o nome da sua classe de JButton, so que isso ja existe e deve ta dando conflito:

[code]
import javax.swing.JFrame;
import javax.swing.JButton;

public class Botao extends JFrame {

public Botao() {
    
    JButton button = new JButton("Eu sou um JButton!");  
    //button.setSize(200,100);  
    button.setBounds(50, 50, 200, 100);  
    //button.setBackground( Color.WHITE );  
    add(button); 
    
     setVisible(true);  
    setSize(400,400);  
    setLayout(null); 
    setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main (String [] args) {  
    new Botao();
}  

}
[/code][/quote]

nem acredito q esse era o erro,vacilei.
é pq meu prof passou varios exemplos ai coloquei no eclipse e ficar melhor de procurar o exemplo eu coloque o nome deles com o nome da classe, eu ja sabia que dava erro só que na hora não lembrei!
Obrigada pelas respostas!