Jbutton [RESOLVIDO]

8 respostas
digolipertte
Estou tentando colocar um jbutton mas ele não aparece dentro do JFrame.
package PacotePlayer;

import java.awt.*;

import javax.swing.*;


 public class Tela {
	 public static void tela(){
		
		
		 
		JFrame janela = new JFrame();
		
		
	    janela.setVisible(true);
		janela.setSize(800, 200);
		janela.setLocation(null);
		
		janela.getContentPane().setBackground(Color.green);
		JButton b = new JButton("Sair");
		janela.add(b);
		b.setSize(200, 150);
		b.setBackground(Color.red);
		b.setForeground(null);
		
	    janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
		
		
		
		
		
	}

}

8 Respostas

rogeriopaguilar

Tenta com o código abaixo e leia os comentários que coloquei

import java.awt.*;

import javax.swing.*;


 public class Tela {
	 public static void main(String[] args){
		
		
		 
		JFrame janela = new JFrame();
		
		
		janela.setSize(800, 200);
		//janela.setLocation(null); --> NullPointerException aqui
		
		janela.getContentPane().setBackground(Color.green);
		JButton b = new JButton("Sair");
		janela.add(b);
		b.setSize(200, 150);
		b.setBackground(Color.red);
		b.setForeground(null);
		
	    janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
		
		
	    janela.setVisible(true); //Faz isso sempre por último pra ver os erros caso eles ocorram antes de montar a janela
		
		
		
	}

}
thiagof

Fala rogeriopaguilar!

Não manjo muito de swing mas acredito que você precise adicionar um JPanel dentro do JFrame e o JButton vai dentro do JPanel ao invés de ir dentro do JFrame, mas desconsidera minha resposta se eu estiver boiando :smiley:

dá uma olhada nesse link para ver se te ajuda:
http://docs.oracle.com/javase/tutorial/uiswing/components/panel.html

rogeriopaguilar

Na verdade você pode adicionar qualquer componente no container principal, mas você tem razão, para organizar outros componentes no mesmo container você pode utilizar um jpanel. Eu só arrumei o código dele pra funcionar porque da forma que estava ocorria um nullpointerexception depois que a tela já estava aberta, por isso o botão não aparecia.

rogeriopaguilar

ops, duplicado :slight_smile:

thiagof

Fala rogeriopaguilar!!!

Cara me desculpa, não vi sua resposta acima da minha :smiley:

pra falar a verdade, comecei a responder ao digolipertte quando nenhuma resposta tinha sido dada e fiquei enrolando procurando links para mandar para ele e vc acabou respondendo primeiro :slight_smile:

foi mal aee, mas é bom que isso contribui para o aprendizado de todos nós :smiley:

Valeu!!

digolipertte

Obrigado Rogeriopaguilar e Thiagof.
Eu ja tava quebrando a cabeça nisso e não conseguia achar o erro, faz muito tempo q eu fiz o curso de java e agora esqueci um monte de coisa.
Obrigado

digolipertte
So duas coizinhas não deram muito certo agora, o JFrame teria q ficar verde e o Jbutton cinza e ta tudo cinza, e o setlocation.
package PacotePlayer;

import java.awt.*;

import javax.swing.*;


 public class Tela {
	 public static void tela(){
		
		
		 
		JFrame janela = new JFrame();
		
		
		janela.setSize(800, 200);
		janela.setLocation(NullPointerException);// não sei se era isso mas não funcionou aki.
		
		janela.setBackground(Color.green);
		
		JButton b = new JButton("Sair");
		
		janela.add(b);
		b.setSize(200, 150);
		b.setBackground(Color.LIGHT_GRAY);
		b.setForeground(Color.white);
		
		
	    janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
		janela.setVisible(true);
		
		
		
		
	}

}
thiagof

eu acho que o que o rogeriopaguilar quis dizer, é que era para deixar comentado a sua linha 17:

//janela.setLocation(NullPointerException);// não sei se era isso mas não funcionou aki.

porque era ela que tava quebrando da primeira vez…

talvez seja só isso :smiley:

Criado 17 de abril de 2012
Ultima resposta 17 de abr. de 2012
Respostas 8
Participantes 3