Componentes nao aparecem[resolvido]

3 respostas
alisson027

os componentes nao aparecem quando compilo
só aparecem quando passo o mouse em cima ou clico

import java.awt.Color;
import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;


public class EmpregadoAssalariado extends JFrame{
		
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private final JTextField nome;
	private final JTextField sobrenome;
	private final JTextField salario;
	private final JLabel lnome;
	private final JLabel lsobrenome;
	private final JLabel lsalario;
	private final JButton incluir;
	private final JButton limpar;
	private final JButton mostrar;
	
	
	public EmpregadoAssalariado(){
		super("");
		setSize(500, 400);
		setVisible(true);
		setLayout(null);
		//Container tela = getContentPane();
		//tela.setBackground(Color.gray);
		
		lnome = new JLabel( "*Nome" );   
		lnome.setBounds(10,10,100,22);
		lnome.setForeground(new Color(255, 165, 0));
		add( lnome );
		
		nome = new JTextField (20);
		nome.setBounds(100,10,200,21);
		add(nome);
		
		lsobrenome = new JLabel( "*Sobrenome" );   
		lsobrenome.setBounds(10,50,100,22);
		lsobrenome.setForeground(new Color(255, 165, 0));
		add( lsobrenome );
		
		sobrenome = new JTextField (20);
		sobrenome.setBounds(100,50,200,21);
		add(sobrenome);
	
		lsalario = new JLabel( "*salario" );   
		lsalario.setBounds(10,90,100,22);
		lsalario.setForeground(new Color(255, 165, 0));
		add( lsalario );
		
		salario = new JTextField (20);
		salario.setBounds(100,100,200,21);
		add(salario);

		incluir = new JButton("incluir");
		incluir.setBounds(10,140,90,25);
		add (incluir);
		
		limpar = new JButton("limpar");
		limpar.setBounds(110,140,90,25);
		add (limpar);
		
		mostrar = new JButton("mostrar");
		mostrar.setBounds(210,140,90,25);
		add (mostrar);
	}
	
	
	
		public static void main(final String args[]){
		final EmpregadoAssalariado app = new EmpregadoAssalariado();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } 
		
		
		
		
}
como fasso para eles aparecerem direto?

3 Respostas

drsmachado

Altere seu código, tirando a linha

setVisible(true);

e deixando assim

public static void main(final String args[]){   
        final EmpregadoAssalariado app = new EmpregadoAssalariado();   
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        app.setVisible(true);
}
alisson027

vlw deu certo

ViniGodoy

A linha do setVisible(true) deve sempre ser a última do seu construtor.

Aliás, o ideal é que ela fique fora do construtor, como o drsmachado sugeriu.

Criado 13 de novembro de 2010
Ultima resposta 14 de nov. de 2010
Respostas 3
Participantes 3