• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ptrci

ArrayList entre packages.

9 mensagens neste tópico

Queria ajuda.

Tenho dois packages um com código fonte e outro com GUI .

No pacakage do código fonte tenho definido a seguinte array list :

private ArrayList<Dados> dados = new ArrayList<Dados>();   

que tem o metodos set ; adicionar; ......

O problema é que estou a tentar listar os dados dessa arraylist no gui.

Na classe que tenho para adicionar já importei tudo até fiz :

private DataValid  classDados = new  DataValid();  // Classe  DataValid

ao adicionar chamo classDados. addDATA.(infos); 

Para listar  utilizo uma jlist:

jlLista.setListData(classDados.getData().toArray());

eu sei que a minha duvida é um pouco confusa. E não posso ter a classe com o arraylist no gui.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Explica lá melhor isso não estou bem a perceber o teu problema, pelo que vejo não encontro o problema. :|

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho dois package

> GUI ( onde esta o ambiente gráfico da aplicação )

> SC  ( Onde esta toda a lógica )

Tenho vários ArrayList onde são guardados os dados. Eles estão todos no SC.

E estou a fazer uma aplicação gráfica que adicionar dados e listar a informação desses array list.

As listagens são listadas em  Jist.

Para buscar os array para a parte grafica faço os importo e crio  uma instância de variável da classe onde tenho a array list:

private DataValid  classDados = new  DataValid();

A partir da instância criada  vou chamar os metodos  da classe onde tenho o arry list para adicionar e listar

adicioinar: classDados. addDATA.(infos); 

método addData:

public void addIOp(IOP a){

        valods.add(a);

    }

Listar: jlLista.setListData(classDados.getData().toArray());

método getData:

public ArrayList<Sector01> getIOp() {

        return valods;

    }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esqueci me de dizer que não consigo adicionar nem listar. As listas estão sempre sem dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta lá a meter um list de Strings acho que isso assim objecto em duro é complicado ou então tens de ter uma toString para que o java saiba o que imprimir na list.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não interessa o package onde estão as variáveis, mas sim a visibilidade das mesmas. Se tens as variáveis como privadas, precisas de métodos de acesso correctos. Pelo que explicaste, parece-me que tens os métodos de acesso.

Para mostrar dados, essa não é a melhor forma, os componentes Swing trabalham usando uma variante do padrão MVC, a melhor maneira de preencheres os componentes com dados é usando o modelo associado ao componente. Dessa forma crias o componente apenas uma vez, e podes ir alterando o modelo sem problemas.

O modelo de um JList funciona de forma similar a uma lista, podes adicionar, remover, pesquisar por índice, etc.

Quanto a não conseguires introduzir dados, obtens algum erro? Já fizeste um debug? É a primeira coisa que devias fazer para seguir a linha de execução e ver o que está a acontecer.

Todos os objectos possuem um toString por omissão, esse não deverá ser o problema, se não dá para introduzir valores, ou estás a criar instâncias diferentes ou não estás realmente a aceder às listas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois é muito complicado, pensava que era mais fácil.

Sim tenho todos os métodos para adicionar , remover , e definir. E também tenho os toStrings. 

Ao introduzir dados não dá nenhum erro. Mas só é visível no própria classe do Jpanel que criei.

Bem tenho de ver isto mais ao pormenor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é complicado, deve estar-te a falhar um pormenor qualquer no código, mas faz um debug e vês logo onde está a falhar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora