setBounds ( Dúvida )

Ola pessoal !

Tudo beleza ?!

Estou com dificuldades para possicionar os elementos dentro da JFrame

os dois textos aparecem na mesma linha, e tambem quando uso o setBounds não

consigo colocar os elementos no canto esquerdo da tela, eles ficam só do meu para direita da tela.

package janela_gui;

import java.awt.BorderLayout;   

import javax.swing.JFrame;   
import javax.swing.JLabel;   
import javax.swing.JPanel;   


public class Janela extends JFrame   
{   
	JPanel panel;		// Declaração das variaveis   
	JPanel panel2;
	JLabel msg;
	JLabel msg2;


	public Janela()			// Construtor
	{   					// Chamando um método da classe pai - JFrame (herança)
		super("Janela");   	// Nome da janela que é criada
		setSize(1024,768); 	// Tamanho da janela a ser mostrada
	}   

	public void criaJanela()   
	{          
		setLayout(null);
		panel = new JPanel();		// Criando um painel para acomodar os componentes 
		panel2 = new JPanel();
		
		msg = new JLabel("Texto");   
		msg2 = new JLabel("Texto 2");
		 
		
		panel.setBounds(0,00,800,600);		// eixos (x,y,x,y) Seta posicao e tamanho  
				
		panel.add(msg);		        // Adicionar o componente de texto ao painel  
		panel.add(msg2);
		
		getContentPane().add(panel, BorderLayout.WEST);		 
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		    // Ativa o botão "X" da janela  

		//pack();		// Redimensiona a janela de maneira a acomodar corretamente os componentes nela contidos  
		setLocationRelativeTo(null); // Posiciona a janeal no centro da tela
		setVisible(true);		// Faz a janela ser mostrada, respectivamente   
	
	}   

	public static void main(String args[])   
	{   
		Janela s = new Janela();   
		s.criaJanela();   
	}   
}  

Obrigado !

Você não setou os bounds dos JLabels!

[code]
setLayout(null);
panel = new JPanel();
panel2 = new JPanel();

msg = new JLabel(“Texto”);
msg.setBounds(10, 10, 120, 20); //<--------
msg2 = new JLabel(“Texto 2”);
msg2.setBounds(10, 30, 120, 20); //<--------

panel.setLayout(null); //<--------
panel.setBounds(0, 0, 800, 600);

panel.add(msg);
panel.add(msg2);[/code]

Mesmo em componentes dentro de componentes, quando o Layout é null, você deve setar seus bounds para fornecer a posição dentro do elemento pai. No caso, você deve setar os bounds dos JLabels com relação ao JPanel, que é a referência deles!

Não use setBounds. Ele traz diversos problemas:
a) É mais difícil posicionar componentes com ele;
b) Sua tela não poderá ser redimensionada;
c) Sua aplicação deixa de ser multi-plataforma (e isso envolve problemas entre versões de um mesmo SO, como do Windows XP para o 7);

Procure entender os gerenciadores de layout. Eles são a maneira correta de posicionar componentes nas janelas:
http://download.oracle.com/javase/tutorial/uiswing/layout/using.html
http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html
http://www.miglayout.com/QuickStart.pdf