Galera, bleza consegui resolver este problema! Õ/
mas faltou um detalhe eu naum tinha testado,
o seguinte no meu aquivo que eu salvei eu salvei um ArrayList e qria obter ele depois, pois eh, para isso eu tinha um metodo em uma das minhas interfaces que lidava com a lista "getCdp"(Cdp = CadastroDePessoas), que retona um ArrayList de Pessoas. Bom jah tenho como pegar os dados da lista que esta no meu programa, mas tenho ainda um problema essa minha lista estou puxando de um arquivo e para coloca-la no programa fiz um metodo "setCdp(CadastroDePessoas cdp)" que iria setar a minha lista que no inicio era vazia, colocando todos os dados do arquivo nela, soh q naum funcionou, vou postar algumas classes abaixo:
Classe que salva e abre arquivos, mas creio que naum seja aqui o erro:
[code]package Classes;
import Interface.JanelaAdicionarNovo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class TesteSalvar implements Serializable{
JanelaAdicionarNovo jan = new JanelaAdicionarNovo();
public boolean gravaArquivoBinario()
{
FileOutputStream arq = null;
ObjectOutputStream os = null;
try{
arq = new FileOutputStream("BackUp.gss");
os = new ObjectOutputStream(arq);
os.writeObject(jan.getCdp());
}
catch(IOException ioe){
ioe.printStackTrace();
}
finally{
try {
os.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
return true;
}
public boolean leArquivoBinario()
{
FileInputStream arq = null;
ObjectInputStream is = null;
try {
arq = new FileInputStream("BackUp.gss");
is = new ObjectInputStream(arq);
jan.setCdp((CadastroDePessoas) is.readObject());
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
catch(IOException ioe){
ioe.printStackTrace();
}
catch(ClassNotFoundException cnfe){
cnfe.printStackTrace();
}
finally{
try {
is.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
return true;
}
}[/code]
GUI que adiciona pessoa (sem codigo gerado pelo compilador):
[code]package Interface;
import Classes.CadastroDePessoas;
import Classes.GerenciaTabelas;
import Classes.Pessoa;
import Classes.PlainDocument;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFormattedTextField;
import javax.swing.JOptionPane;
import javax.swing.text.MaskFormatter;
public class JanelaAdicionarNovo extends javax.swing.JFrame {
CadastroDePessoas cadastroDePessoas = new CadastroDePessoas();
GerenciaTabelas gerenciaTabelas = new GerenciaTabelas();
public JanelaAdicionarNovo() {
initComponents();
this.setTitle("Adicionar Registro");
txtUF.setText("RS");
txtCidade.setText("Porto Alegre");
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setBounds(20, 20, 1024, 768);
txtFormatDataOrigem.setVisible(false);
lblDataOrigem.setVisible(false);
lblDataSemEspacos.setVisible(false);
MaskFormatter mascaraCpf = null;
try {
mascaraCpf = new MaskFormatter("###.###.###-##");
} catch (ParseException pe) {
pe.printStackTrace();
}
mascaraCpf.setPlaceholderCharacter('_');
mascaraCpf.setValidCharacters("0123456789");
mascaraCpf.install(txtFormatCpf);
MaskFormatter mascaraCnpj = null;
try{
mascaraCnpj = new MaskFormatter("##.###.###/####-##");
}
catch(ParseException pe){
pe.printStackTrace();
}
mascaraCnpj.setPlaceholderCharacter('_');
mascaraCnpj.setValidCharacters("0123456789");
mascaraCnpj.install(txtFormatCnpj);
MaskFormatter mascaraData = null;
try {
mascaraData = new MaskFormatter("##/##/####");
} catch (ParseException pe) {
pe.printStackTrace();
}
mascaraData.setPlaceholderCharacter('_');
mascaraData.setValidCharacters("0123456789");
mascaraData.install(txtFormatDataOrigem);
MaskFormatter mascaraCep = null;
try {
mascaraCep = new MaskFormatter("#####-###");
}
catch (ParseException pe) {
pe.printStackTrace();
}
mascaraCep.setPlaceholderCharacter('_');
mascaraCep.setValidCharacters("0123456789");
mascaraCep.install(txtFormatCep);
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
private void btnAdicionarActionPerformed(java.awt.event.ActionEvent evt) {
if(txtNome.getText().trim().length() == 0){
JOptionPane.showMessageDialog(rootPane, "O campo nome deve ser preenchido");
}
else{
String nome = txtNome.getText();
Pessoa pessoa = new Pessoa(nome);
cadastroDePessoas.adiciona(pessoa);
String bairro = txtBairro.getText();
pessoa.setBairro(bairro);
String email = txtEmailGeral.getText();
pessoa.setEmail(email);
String fone = txtTelefone.getText();
pessoa.setTelefone(fone);
String endereco = txtEndereco.getText();
pessoa.setEndereco(endereco);
String cidade = txtCidade.getText();
pessoa.setCidade(cidade);
String uf = txtUF.getText();
pessoa.setUf(uf);
String apelido = txtApelido.getText();
pessoa.setApelido(apelido);
String homepage = txtHomePage.getText();
pessoa.setHomepage(homepage);
String fax = txtFax.getText();
pessoa.setFax(fax);
if(txtFormatCep.getText().length() > 0 && txtFormatCep.getText().length() < 8){
JOptionPane.showMessageDialog(null, "O numero do CEP é inválido");
}
else{
String cep = txtFormatCep.getText();
pessoa.setCep(cep);
}
if(!txtFormatDataOrigem.getText().trim().equals("__/__/____")){
SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
Date agora = new Date();
Date cal = new Date();
try {
cal = formatoData.parse(txtFormatDataOrigem.getText());
}
catch (ParseException ex) {
JOptionPane.showMessageDialog(rootPane, "Formato da data incorreto", "Erro", JOptionPane.ERROR_MESSAGE);
return;
}
// TODO validar meses e dias :/
if(cal.after(agora)){
JOptionPane.showMessageDialog(rootPane, "Data inválida", "Cuidado", JOptionPane.WARNING_MESSAGE);
}
else{
pessoa.setDataOrigem(cal);
}
}
if(opcCpf.isSelected()){
if(txtFormatCpf.getText().length() > 0 && txtFormatCpf.getText().length() < 14){
JOptionPane.showMessageDialog(null, "Campo \"CPF\" não esta preechindo completamente","Cuidado", JOptionPane.WARNING_MESSAGE);
}
else{
String cpf = txtFormatCpf.getText();
pessoa.setCpf(cpf);
}
}
else if(opcCnpj.isSelected()){
if(txtFormatCnpj.getText().length() > 0 && txtFormatCnpj.getText().length() < 18){
JOptionPane.showMessageDialog(null, "Campo \"CPF\" não esta preechindo completamente","Cuidado", JOptionPane.WARNING_MESSAGE);
}
else{
String cnpj = txtFormatCnpj.getText();
pessoa.setCnpj(cnpj);
}
}
gerenciaTabelas.adicionaPessoa(cadastroDePessoas.ultimaPessoaDaLista().parametroAddTabPessoas());
JOptionPane.showMessageDialog(null, "Individuo adicionado com sucesso","Parabéns", JOptionPane.PLAIN_MESSAGE);
this.dispose();
}
}
private void opcCpfActionPerformed(java.awt.event.ActionEvent evt) {
if(opcCpf.isSelected()){
txtFormatCpf.setEnabled(true);
txtFormatCnpj.setEnabled(false);
txtFormatCnpj.setText("");
}
}
private void opcCnpjActionPerformed(java.awt.event.ActionEvent evt) {
if(opcCnpj.isSelected()){
txtFormatCnpj.setEnabled(true);
txtFormatCpf.setEnabled(false);
txtFormatCpf.setText("");
}
}
public JFormattedTextField getDataOrigem(){
return txtFormatDataOrigem;
}
public CadastroDePessoas getCdp(){
return cadastroDePessoas;
}
public CadastroDePessoas setCdp(CadastroDePessoas cdp){
return cadastroDePessoas = cdp;
}[/code]
Se tiverem alguma ideia por mais idiota que possa parecer, por favor postem! 
Vlw pela força galera!