Componentes não aparecem

5 respostas
brunosinister

Galera boa noite a todos, sou novato aqui no forum procurei mas não achei algo que respondesse minha dúvida em pots anteriores a esse.
A questão é a seguinte fiz esse código, que me parece ter algum tipo de falha, ele compila, mostra a janela, mas não mostra nenhum componte, por exemplo crie o botão e adicionei, porém o mesmo não aparece, está faltando alguma coisa?
a classe main está separa desse código

import javax.swing.*;

public class aplicativo extends JFrame
{
	 public aplicativo()
	 {
		 super("java!");
	 }

	 public void criaJanela ()
	 {
		 JFrame janela= new JFrame();
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


		JButton butao= new JButton();
		 JTextField texto= new JTextField ();
		 JRadioButton butao1= new JRadioButton();


janela.getContentPane().add(butao);
		 janela.add(butao);
		 janela.add(texto);
		 janela.add(butao1);

                     pack();

		 setVisible(true);
	 }
 }

5 Respostas

cs.santos0

Iai,

tenta esse ai:

import javax.swing.*;  
import java.awt.FlowLayout; 
  
class aplicativo extends JFrame   
{   

	private JButton butao;
	private JTextField texto;
	private JRadioButton butao1;
	
     public aplicativo()   
     {   
         super("java!");
         criaJanela();   
     }   
  
     public void criaJanela ()   
     {              
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  		 this.setLayout(new FlowLayout());	
  			
         butao= new JButton("OK");   
         texto= new JTextField (10);   
         butao1= new JRadioButton("Sim");  		 
  		
		 this.add(butao);        
         this.add(texto);   
         this.add(butao1);  
                   
  		 this.setSize(500, 500);	
         this.setVisible(true);   
     }   
}

public class Teste{
	public static void main(String[] args){
		aplicativo app = new aplicativo();
	}
}

vc num tinha chamado o método criaJanela(), e estamos colocando todos os componentes sem nenhum gerenciador de Layout, ai todos os componentes ficam um em cima do outro

flw, espero ter ajudado

brunosinister

A chamada ao metódo criaJanela() está sendo colocada em uma classe que crie chamada rodaAplicativo, eu consigo criar a janela, porém a mesma, não fica no tamanho definido e os butões e outros componentes não aparecem

cs.santos0

iai cara,

esses erros que vc disse estavam msm acontecendo, mas tenta executar o código q eu postei, ta funcionando.

flw

W

como sua classe aplicativo é um JFrame já que vc colocou, public class aplicativo extends JFrame
não precisava criar outro objeto pra JFrame, basta fazer como o colega acima citou, e adicionar direto na sua classe.

brunosinister

Ahhhh agora entendi, obrigado pela dica galera… vlw a força, vcs ainda vão me ver muito por aqui, iniciante na linguagem da nisso hehehe

Criado 13 de outubro de 2007
Ultima resposta 15 de out. de 2007
Respostas 5
Participantes 3