Problema com container

tenho dois Buttons e um TextArea. Quero que o TextArea fique debaixo dos buttons, mas ele está ficando do lado :sad:

segue meu código:

[code]import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class ButtonImage extends JFrame{
//página 607
private JButton plainbutton, fancybutton;
private JLabel credits;
private JTextArea texto;

//configura a GUI
public ButtonImage(){
	super("Testando Botões");
	
	//obtém painel de conteúdo e configura o layout
	Container container = getContentPane();
	container.setLayout(new FlowLayout());
	
	//cria botões
	plainbutton = new JButton ("Créditos");
	container.add(plainbutton);
	
	Icon bug1 = new ImageIcon("bug1.gif");
	Icon bug2 = new ImageIcon("bug2.gif");
	fancybutton = new JButton ("Home", bug1);
	container.add(fancybutton);
	
	Box box = Box.createHorizontalBox();                         // Começa aqui o TextArea
	texto = new JTextArea("Alguma coisa", 10, 15);
	box.add(new JScrollPane(texto));
	container.add(box);                                          // Aqui coloco o TextArea no container
	
	
	creditos handler = new creditos();
	plainbutton.addActionListener(handler);
	
	hommer handle = new hommer();
	fancybutton.addActionListener(handle);
	
	//JLabel
	Icon avatar = new ImageIcon("avatar.gif");
	credits = new JLabel();
        credits.setText("<html><u>Nome</u>
            <br>Cidade<br>Data</html>");
	credits.setIcon(avatar);
	credits.setHorizontalTextPosition(SwingConstants.RIGHT);
	credits.setToolTipText("Minha Biografia");
	container.add(credits);
	
	setSize(400, 500);
	setVisible(true);
}

public static void main(String args[]){
	ButtonImage application = new ButtonImage();
	
	application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private class creditos implements ActionListener{
	public void actionPerformed(ActionEvent event){
		JOptionPane.showMessageDialog(null, "Programa feito em Java! =)","Créditos", JOptionPane.INFORMATION_MESSAGE);
	}
}	
private class hommer implements ActionListener{
	public void actionPerformed(ActionEvent event){
		JOptionPane.showMessageDialog(null, "Você clicou em Home!!!", "Atenção!", JOptionPane.WARNING_MESSAGE);
	}
}	

}[/code]

Alguém pode me dizer onde está o problema no código, e como arrumar?

Desde já obrigado

Olha, não tenho certeza, mas acho que vc usando um layout vc não conseguirá isso, tente:

container.setLayout(null);

até mais!

Eu fiz o que vc me falou mas daí o programa sai todo em branco, não aparecenenhum botão nem textarea.

O seu problema é de Layout mesmo.
Se você quizer usar setLayout(null),
você tem que especificar as coordenadas
de cada elemento quando for adicionar eles
no container. Talvez pra você deva
ser melhor usar “GridBagLayout”.
Da uma estudada nos tipos de layouts.

Boas,

Eu uso o SpringLayout, voce faz assim :

SpringLayout layout = new SpringLayout() ;
 JLabel teste = new JLabel( "Teste de um Jlabel !" );
      layout.putConstraint (SpringLayout.WEST, teste,
           7,
           SpringLayout.WEST, getContentPane()) ) ;
     layout.putConstraint(SpringLayout.NORTH, teste,
           17,
           SpringLayout.NORTH, getContentPane()) ;
   //Adiciona o label ao container
      container.add( teste ) ;

Com este layout voce pode colocar os objectos aonde voce bem entender,
depois me diga se funcionou ou se voce tem alguma duvida.

:slight_smile: