Acessar JTextField

Possuo uma classe

class TelaAtualizaProdutos extends JDialog {
         SpringLayout layout = new SpringLayout();
         private JLabel lblmsg;
         JTextField txtmsg = new JTextField("",35);
....
ImportaProdutos ip = new ImportaProdutos();
ip.setPriority(Thread.NORM_PRIORITY);
ip.start();
...

e uma outra classe

class ImportaProdutos extends Thread{
        [b]private TelaAtualizaProdutos telaa;[/b]
        public ImportaProdutos(){
        }
        public void importa(){
	// Importa arquivo produtos.txt do servidor web
	FTPClient ftp = new FTPClient();
	String nomeArquivo = "";
	Frame[] frame = Frame.getFrames();
	String empresa = frame[0].getTitle();
	[b]telaa.txtmsg.setText("Aguarde Realizando Conexão");[/b]
                ftp.connect("10.0.0.1");
	if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
        	         [b]telaa.txtmsg.setText("Conexão realizada");[/b]
....

Estou tentando atualizar o JTextField da classe TelaAtualizaProdutos para indicar o status do download e não consigo, o que está errado?
da o seguinte erro:

java.lang.NullPointerException
at ImportaProdutos.importa(TelaAtualizaProdutos.java:124)
at ImportaProdutos.run(TelaAtualizaProdutos.java:156)

se Eu usar System.out.println não tenho problemas , mas a mensagem deve sair tela Swing, o que fazer?

Ou você não criou o objeto do tipo TelaAtualizaProdutos na variável telaa ou não criou o text field na classe do dialogo.

Que salada heim brother, tá meio confuso de ler o código assim !

Oque ocorre é que você não está passando a textfield para a outra classe, porisso quando tu tenta usar ela ela não existe !

tu poderia fazer algo assim:

class TelaAtualizaProdutos extends JDialog {
         SpringLayout layout = new SpringLayout();
         private JLabel lblmsg;
         JTextField txtmsg = new JTextField("",35);
	
	....

	ImportaProdutos ip = new ImportaProdutos(txtmsg);
	ip.setPriority(Thread.NORM_PRIORITY);
	ip.start();
	
	...

}

class ImportaProdutos extends Thread{
	private JTextField txtmsg;

	/**
	 * Aqui no Construtor tu pega aquela caixa criada no TelaAtualizaProdutos
	 **/
        public ImportaProdutos(JTextField caixa){
		txtmsg = caixa;
        }
}
        public void importa(){
		// Importa arquivo produtos.txt do servidor web
		FTPClient ftp = new FTPClient();
		String nomeArquivo = "";

		Frame[] frame = Frame.getFrames();
		String empresa = frame[0].getTitle();

		txtmsg.setText("Aguarde Realizando Conexão");

		 ftp.connect("10.0.0.1");

		if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
        	         txtmsg.setText("Conexão realizada");
		}

		...
	}

}

Acho q é isso, testa ai que deve funcionar agora.

[]s

valeu, funcionou.