Problema ao passar valores de um Jtextfield para outra classe

Olá a todos!!
Sei que pode parecer estranho, um cara novo, primeira mensagem, pedindo ajuda … mas é a primeira vez estou desenvolvendo um chat e estou com um problema que não consigo resolver!!
Sei que ja tem em outros tópicos a solução, mas tentei todas as maneiras e não consegui resolver!!

O meu problema é que eu tenho que passar os dados dos JTextFields da classe JFLogin para a classe Layout_Chat!
Criei as funções getip, getnome e getporta, e tentei usar elas para atribuir os valores dos TextFields para as variávies, mas está dando erro!!
Alguém poderia me ajudar por favor??

Aqui segue o código das duas classes:

[code]package com.Chat;
import java.awt.Color;

import java.awt.event.;
import java.awt.
;
import java.io.;
import java.net.Socket;
import javax.swing.
;

public class JFLogin extends JFrame {
private Container c;
private JLabel lblNome;
private JTextField txtNome;
private JLabel lblIpServidor;
private JTextField txtIpServidor;
private JLabel lblPorta;
private JTextField txtPorta;
private JButton btnEntrar;
private PrintWriter saida = null;
public JFLogin() {
c = new Container();
setTitle("Login - Chat ");
setSize(350,250);
c = getContentPane();
c.setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	lblNome = new JLabel("Nome:");
	lblNome.setBounds(88, 30, 100, 25);
	
	txtNome = new JTextField(10);
	txtNome.setBounds(150, 30, 175, 22);

	lblIpServidor = new JLabel("Ip Servidor:");
	lblIpServidor.setBounds(59, 70, 100, 25);
	
	txtIpServidor = new JTextField(10);
	txtIpServidor.setBounds(150, 70, 175, 22);
	
	lblPorta = new JLabel("Porta:");
	lblPorta.setBounds(92, 110, 100, 25);
	
	txtPorta = new JTextField("5555");
	txtPorta.setBounds(150, 110, 175, 22);
	
	btnEntrar = new JButton("Entrar");
	btnEntrar.setBounds(30, 160, 300, 25);
		
	c.add(lblNome);
	c.add(txtNome);
	c.add(lblIpServidor);
	c.add(txtIpServidor);
	c.add(lblPorta);
	c.add(txtPorta);
	c.add(btnEntrar);
	
	
	btnEntrar.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			if(verificarcampos()==true){
				dispose();
				Layout_Chat lc = new Layout_Chat();
				lc.setVisible(true);
				
			}
			else{
				JOptionPane.showMessageDialog(null, "Verifique os campos");
			}
		}});

}




public String getnome(){
	return txtNome.getText();
}
public String getporta(){
	return txtPorta.getText();
}
public String getip(){
	return txtIpServidor.getText();
}
public boolean verificarcampos(){
	boolean verificar=true;
	if(txtIpServidor.getText().trim().isEmpty()){
		verificar=false;	
	}		
	return verificar;		
}
}

[/code]

[code]package com.Chat;
import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;

public class Layout_Chat extends JFrame{
private Container c;
private JButton botaoenviar;
private JTextArea entrada2;
private JTextArea entrada1;
private JScrollPane scrollBar1;
private JScrollPane scrollBar2;
private JScrollPane scrollBar3;
private JLabel Usuario;
private JLabel ListaOline;
private JList conectados;
private Socket conexao;
private PrintStream saida;
private String msg;
private ArrayList listaconectados = null;
private String ipserver;
private int portaserver;
private String nomeusuario;
private JFLogin login;

BufferedReader servidor ;

public Layout_Chat(){
	super("Chat");
	

	c = getContentPane();

	setResizable(false);
	c.setLayout(null);
	
	login = new JFLogin();
	
	portaserver = Integer.parseInt(login.getporta());///////////////////<<<-----------------------------
	ipserver = login.getip();///////////////////<<<--------------------------------
	
	
	listaconectados = new ArrayList<String>();
	
	try {
		String mensagem;
		
		conexao = new Socket(ipserver, portaserver);
          //Instancia do atributo saida, obtem os objetos que permitem controlar o fluxo de comunicação
        saida = new PrintStream(conexao.getOutputStream());                        
        servidor = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
        
        nomeusuario = login.getnome(); //////////////////////<<<------------------
        
        
        if(nomeusuario==null){
        	JOptionPane.showMessageDialog(null,"*Erro* Nenhum nome foi digitado!");
        	System.exit(0);
        }            
        
        
		            
      //envia o nome digitado para o servidor
	    saida.println(nomeusuario.toUpperCase());//toUppercase ignora case sensitive
	    mensagem = servidor.readLine();		
	  
	    
	    System.out.println(mensagem);
		if(mensagem.equals("nomeexistente")){
			JOptionPane.showMessageDialog(null, "O nome já está em uso");
			System.exit(0);
		}
	    
	    JOptionPane.showMessageDialog(null, mensagem);
	    
	    String strloop = servidor.readLine();
	    System.out.println(strloop);
	    int loopadd = Integer.parseInt(strloop);
		System.out.println("Tem " + loopadd + " conectados");
		
		for(int i=0; i<loopadd ; i++){
			String nomeuseradd = servidor.readLine();
			System.out.println("Online " + nomeuseradd);
			listaconectados.add(nomeuseradd);
		}					
	   	
		conectados = new JList();
    	c.add(conectados);
    
		conectados.setListData(listaconectados.toArray());
	
	  
		Usuario = new JLabel("Usuário: "+nomeusuario);
	    Usuario.setBounds(50,5,150,30);
	    c.add(Usuario);   
	    
	    ListaOline = new JLabel("ListaConectados");
	    ListaOline.setBounds(800,20,150,30);
	    c.add(ListaOline);
	   

        //instancia a thread para ip e porta conectados e depois inicia ela
        Thread thread = new Thread(new Auxiliar());
        thread.start();
	                					
	} catch (IOException e) {
		JOptionPane.showMessageDialog(null, "Não foi possível efetuar a conexão");
		e.printStackTrace();
	} 
	
	
	botaoenviar = new JButton("Enviar");
	botaoenviar.addActionListener(new ActionListener(){

		@Override
		public void actionPerformed(ActionEvent arg0) {
		try{
			msg = entrada2.getText();
			saida.println(nomeusuario + " diz : " +msg);
			saida.flush();
			entrada2.setText("");
			entrada2.grabFocus();
		}
		catch(Exception e){
		}
		}
		
	});
		 
	entrada1 = new JTextArea();
	entrada1.setLineWrap(true);
	entrada1.setWrapStyleWord(true);
	
	entrada2 = new JTextArea();
	entrada2.setLineWrap(true);
	entrada2.setWrapStyleWord(true);
	
	


			
	scrollBar1 = new JScrollPane(entrada1);
	scrollBar1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
	scrollBar1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
	scrollBar1.setBounds(50,30,700,300);
	entrada1.setEditable(false);
	c.add(scrollBar1);
	
	scrollBar2 = new JScrollPane(entrada2);
	scrollBar2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
	scrollBar2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
	scrollBar2.setBounds(150,350,500,150);
	c.add(scrollBar2);
	
	scrollBar3 = new JScrollPane(conectados);
	scrollBar3.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
	scrollBar3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
	scrollBar3.setBounds(800,50,150,200);
	c.add(scrollBar3);
	
	
	
	botaoenviar.setBounds(650,350,100,100);
	c.add(botaoenviar);			   				
	setSize(1000,600);
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}



  public class Auxiliar implements Runnable{

@Override
public void run() {

	try{
		
		String mensagem;
		try{
			Thread.sleep(1500);
		}
		catch(Exception e){
			
		}									
		while(true){							

			mensagem = servidor.readLine();
			
			String msg[] = mensagem.split("MPMP@@");
			
			if(msg[0].equals("addListListList")||msg[0].equals("remListListList")){
				if(msg[0].equals("addListListList")){
				boolean confere = true;
				for(int i = 0 ; i < listaconectados.size() ; i ++){
				if(listaconectados.get(i).equals(msg[1])){
					confere = false;
				}
				}
				if(confere==true){
					listaconectados.add(msg[1]);
					entrada1.append("O usuário "+ msg[1] + " entrou \n");
				}
			conectados.setListData(listaconectados.toArray());				
			}
				else{
					listaconectados.remove(msg[1]);
					conectados.setListData(listaconectados.toArray());	
					entrada1.append("O usuário "+msg[1]+" Saiu \n");
				}}
			else{
				entrada1.append(mensagem + "\n");
				entrada1.setCaretPosition(entrada1.getText().length());	
			}																							
			}

	}catch(Exception e){
		JOptionPane.showMessageDialog(null, "Ocorreu algum erro e o programa será encerrado ");
	}
}}}[/code]

Por favor, ninguém sabe responder?? :?: