Como imprimir em uma JTextArea estática ? [RESOLVIDO]

7 respostas
D
Olá galera, estou com um problema que ainda não consegui resolver. Seguinte, tenho uma Tela principal na qual criei um JTextArea estático:
public class TelaPrincipal extends JFrame{

public static JTextArea areaTexto =  new JTextArea();

//....
}
e tenho uma outra tela na qual eu utilizo esse mesmo JTextArea. O problema é que quando eu tento escrever algo a partir dessa classe nesse JTextArea, não é exibido nada na areaTexto da classe TelaPrincipal:
public class OutraTela{

//não imprime na tela principal
TelaPrincipal.areaTexto.append("imprime isso");

//...
}
como faço pra que isso seja atualizado na tela principal?

7 Respostas

MaYaRa_SaN

voce não está alterando a propriedade texto do teu obj textArea, está adicionando o texto a própria variável…

tente assim:

lina

[quote=MaYaRa_SaN]
voce não está alterando a propriedade texto do teu obj textArea, está adicionando o texto a própria variável…

tente assim:

Oi,

O método getText() não tem a função append.

Sugiro passar a instância de JTextArea por parâmetro e trabalhar com ela na outra classe.

Tchauzin!

MaYaRa_SaN

Estou sem NetBeans pra testar, mas sei que pra alterar o conteudo de componentes de texto precisa usar o get/stText()

:wink:

D

ok Mayara, mas quando utilizo o método getText() já não é mais possível utilizar o método append() do componente JTextArea.

lina
MaYaRa_SaN:
Estou sem NetBeans pra testar, mas sei que pra alterar o conteudo de componentes de texto precisa usar o get/stText()

;)

Oi,

O componente JTextArea não possui o método setText(). Para escrever no mesmo deve-se usar o método append(). Já o método getText() só serve para retornar o conteúdo texto presente no componente.

Exemplo:

public class TelaPrincipal extends JFrame
{
	public static JTextArea lo_text;
	
	public	TelaPrincipal() {
		setSize(500, 500);
		lo_text		=	new JTextArea();
		getContentPane().add(lo_text);
		
		lo_text.append("Oi");
		
		new TelaSecundaria();
	}
	
	public static void main(String[] args) {
		new TelaPrincipal().setVisible(true);
	}
}
public class TelaSecundaria
{
	public TelaSecundaria() {
		TelaPrincipal.lo_text.append("BuH");
	}
}

Escreverá: OiBuH

Tchauzin!

D

ok, assim dá certo Lina.
brigado pela força pessoal!

MaYaRa_SaN

opa, desculpa.

acabei pensando que o JTextArea seria similar ao JTextField e passei a informação errada. :oops:

Criado 28 de dezembro de 2011
Ultima resposta 28 de dez. de 2011
Respostas 7
Participantes 3