[Dúvida] ArrayList de Classe que herda de JFrame e Serialização dela

5 respostas
rafaelob

Olá, Antes de começar a programação me surgiu uma dúvida, o que eu quero fazer é o seguinte:

Vou ter uma Classe chamada Avaliação que será filha de um Jframe, vou ter lá meus, JLabels, JButtons e etc…

Vou ter outra Classe que vai ser um classe chamada Aluno, que vai ter um ArrayList de Avaliações …

1º Pergunta:

É possível eu ter esse ArrayList de Avaliações, mesmo sendo eles um Jframe??

2º Pergunta:

Se é possível, quando eu chamar uma Avaliação em específico, eu vou ter que dar um set.visible(true) para esse esse objeto, certo? e quando no objeto eu chamasse o método dispose, para quando eu fechasse esse frame… eu iria perder esse objeto? mesmo ele estando em um ArrayList na classe Aluno ?? eu seria obrigado a só “dá” um setvisible(false) ?

3º Pergunta

Eu quero serializar aluno, então para tal eu teria que serializar Avaliação certo?? é Possivel???

Tentei esclarecer o que eu quero fazer, se tiverem alguma dúvida eu posso tentar explicar melhor…

Muito Obrigado! :slight_smile:

5 Respostas

fesaab

rafael,
Tudo o que vc falou é possível, mas acho que teu software não vai ser lá muito eficiente não…

Você não precisa ficar guardando o JFrame no teu ArrayList (embora até funcione), o JFrame vc só deve usar para exibir os dados, ou seja, vc só vai precisar ter um dele.

Minha dica é que ao invés da tua classe avaliação SER um JFrame, faça ela conter apenas os dados que constam no JFrame. Ex: notas, questoes, respostas…
Ai quando vc quiser carregar uma avaliação em específica, basta passar os valores da tua classe para os componentes no JFrame.

Evita vc serializar todas as informações do JFrame (acho que tem como fazer isso sim, embora nunca tenha tentado).

rafaelob

Em alternativa de criar esse ArrayList de JFrames, eu pensei em salvar os dados de cada avaliação em um arquivo txt simples, e depois abrí-lo e pegar os dados e jogar na frame em questão! acho que seria uma alternativa…

Será que o desempenho realmente vai cair bastante se eu serializar essas JFrames? se eu der um this.dispose() ela mesmo assim irá ficar na memória? certo? ou eu perderia esse objeto do meu ArrayList ?!

Heehe, essas questões eu levantei antes mesmo de implementar este software, gosto de discutir os aspectos de implementação e os futuros problemas que eu poderia vir a ter!

Obrigado :slight_smile:

fesaab

concerteza vai funcionar. mas pra que complicar? heheh Uma classe que implemente a interface java.io.Serializable pode ser facilmente guardada (serializada) em um arquivo texto. Eu pessoalmente acho bem mais fácil manipular um objeto simples (gets e sets) do que ficar lendo arquivo. Mas essa é uma decisão tua… ^^

Acho que o desempenho não vai ter tanta diferença não… Imagino que o volume dados não seja tão grande para afetar o tempo de execução.

O método dispose() eu acho que desaloca a memória (ACHO! não fiz nenhuma pesquisa), então eu te aconselharia a usar o setVisible(false), aí ele apenas vai sair da tela.

pedroroxd

Tudo em java é possível…
Por isso não pergunte: “É possivel?”, e sim “Como fazer?”
rs

fesaab

hehe
Mto bem colocado! :smiley:

Criado 31 de março de 2010
Ultima resposta 31 de mar. de 2010
Respostas 5
Participantes 3