JTextArea + JScrollPane Erro!

3 respostas
arm.jr

Estou querendo adicionar uma barra de rolagem automatica no JTextArea.
Mas ta dando erro no codigo no scroll.add(scroll) logo abaixo.

package Outros;

import java.awt.;
import javax.swing.
;

public class Rolagem extends JFrame {

JTextArea   saida  = new JTextArea ();
JScrollPane scroll = new JScrollPane(saida); 
    
public Rolagem() {  
	
	Container c = getContentPane();
	setSize(350,320);               
	c.setLayout(new BorderLayout()); 
	[b]scroll.add(scroll);[/b]
	
	Container centro = new Container();
	centro.setLayout(new GridLayout(1,1));
	centro.add(saida);
	
	c.add("Center",centro);
	show();


}
public static void main(String[] args) 
{
	Rolagem p = new Rolagem(); 
}

}

ERROS

Exception in thread “main” java.lang.IllegalArgumentException: adding container’s parent to itself

at java.awt.Container.addImpl(Container.java:1005)

at java.awt.Container.add(Container.java:351)

at Outros.Rolagem.(Rolagem.java:27)

at Outros.Rolagem.main(Rolagem.java:40)

Que problema e esse? Alguem tem um código ai bem simples para implementar isso. TextArea + barra de rolagem.

3 Respostas

Ironlynx

É isso mesmo que eu li?Pq vc tah pondo uma scrollpane dentro dela mesma aqui:
scroll.add(scroll); ???
É soh para adicionar ao container!!!

cu_ringa

saida.add(scroll);

C

Vc pode simplificar e nunca se esqueça de uma da principais propriedade de paradigma OO: o encapsulamento

package Outros;

import java.awt.;
import javax.swing.
;

public class Rolagem extends JFrame {

private JTextArea saida;
private JScrollPane scroll;

public Rolagem()

{

super(Rolagem);

setSize(350,100);

saida = new JTextArea ();

scroll = new JScrollPane(saida);

getContentPane().add(scroll,BorderLayout.CENTER);

show();

}

public static void main(String[] args)

{

new Rolagem();

}

}
Criado 2 de abril de 2005
Ultima resposta 3 de abr. de 2005
Respostas 3
Participantes 4