Galera é o seguinte é como foi dito ai mesmo, encontrei em outro forum uma explicação onde indicava que meu erro era instanciar o arraylist dessa forma sempre eh criada uma nova lista, neste post o cara avisa pra colocar o arraylist como uma variável de instância e de preferência no construtor.
Só que mesmo assim não tô conseguindo fazer pois está em classe diferentes, segue o código:
//Esta eh a classe que faz o arraylist e adiciona os objetos.
[b]package Operações;
import Exceções.<em>;
import Interface.</em>;
import Objeto.*;
import java.util.ArrayList;
public class AcmeVideo implements Cadastrar , Procurar {
ArrayList clientes = new ArrayList();
ArrayList filmes = new ArrayList();
ArrayList jogos = new ArrayList();
int clientesConstruidos;
int filmesConstruidos;
int jogosConstruidos;
public ArrayList<Cliente> getClientes() {
return clientes;
}
public int getClientesConstruidos() {
return clientesConstruidos;
}
public ArrayList<Filme> getFilmes() {
return filmes;
}
public int getFilmesConstruidos() {
return filmesConstruidos;
}
public ArrayList<Jogo> getJogos() {
return jogos;
}
public int getJogosConstruidos() {
return jogosConstruidos;
}
public void setClientes(ArrayList<Cliente> clientes) {
this.clientes = clientes;
}
public void setClientesConstruidos(int clientesConstruidos) {
this.clientesConstruidos = clientesConstruidos;
}
public void setFilmes(ArrayList<Filme> filmes) {
this.filmes = filmes;
}
public void setFilmesConstruidos(int filmesConstruidos) {
this.filmesConstruidos = filmesConstruidos;
}
public void setJogos(ArrayList<Jogo> jogos) {
this.jogos = jogos;
}
public void setJogosConstruidos(int jogosConstruidos) {
this.jogosConstruidos = jogosConstruidos;
}
public void cadastrar(Object a){
if(a instanceof Cliente){
clientes.add((Cliente) a);
if(clientes.size()!=0){
System.out.println("oi: "+clientes.size());
}
}
else if(a instanceof Filme){
filmes.add((Filme)a);
}
else
{
jogos.add((Jogo)a);
}
}
public void procurar(String nome) throws OpçãoInvalida {
clientesConstruidos = clientes.size();
for(int i = 0; i < clientesConstruidos;i++){
if(clientes.get(i).getNome().equalsIgnoreCase(nome)){
clientes.get(i);
}
}
filmesConstruidos = filmes.size();
for(int i = 0; i < filmesConstruidos;i++){
if(filmes.get(i).getTitulo().equalsIgnoreCase(nome)){
System.out.println(filmes.get(i).toString());
}
}
jogosConstruidos = jogos.size();
for(int i = 0; i < jogosConstruidos;i++){
if(jogos.get(i).getTitulo().equalsIgnoreCase(nome)){
System.out.println(jogos.get(i).toString());
}
}
throw new OpçãoInvalida();
}
}
[/b][color=blue] [/color]
// Esta é a classe do swing que recebe no text os dados e coloca no objeto que será enviado ao metodo cadastrar, este da classe de cima.
[b]private void buttonCadCliActionPerformed(java.awt.event.ActionEvent evt) {
Executar x=new Executar();
Cliente a=new Cliente();
Endereco b=new Endereco();
int id=a.getIdCliente();
IDCliente.setText(""+id);
String nome=textNomeCli.getText();
a.setNome(nome);
String cpf=textCPF.getText();
a.setCpf(cpf);
String rua=textRua.getText();
b.setRua(rua);
String bairro=textBairro.getText();
b.setBairro(bairro);
String nro=textNro.getText();
b.setNumero(nro);
String tel=textTel.getText();
b.setTelefone(tel);
x.cadastrar(a);
System.out.println(x.getClientes().toString()+" "+x.getClientes().size()); //Apenas demostrativo para verificar o tamanho que sempre zera.
}
[/b][color=darkblue] [/color]