Erro JButton

8 respostas
F
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.
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);
	}
}

8 Respostas

R

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

ViniGodoy

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.

therodrigoagostin
Está faltando um extends no JFrame
class JButton extends JFrame{ 
...
}
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.
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);
	}
}

F

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);
	}
}
ViniGodoy

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.

R

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();
    }  
}
therodrigoagostin
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);
    }
    
}
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:
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();
    }  
}
F

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!

Criado 15 de outubro de 2012
Ultima resposta 15 de out. de 2012
Respostas 8
Participantes 4