Vetor, como inserir dados

Boa tarde pessoal, estou fazendo um sisteminha pequeno para cadastro de aluno, um trabalho da faculdade. Nele tenho um JFrame e um internal frame. Informo a nota1 e a nota2 e esse sistema retorna a média.

O sistema também pede isso:

[quote]O botão Cadastrar, deverá ser instanciado um objeto de acordo com o tipo de Aluno escolhido (graduação e pos-graduação), utilizando um Vector para armazenar vários alunos, fazer o cálculo da média e exibir o resultado na caixa de texto média.

Botão Exibir Alunos Cadastrados - deverá ser habilitado após o cadastro de um objeto. Quando o usuário clicar neste botão todos os dados de cada aluno cadastrado deverão ser mostrados na textarea presente na interface.
[/quote]

Cada aluno possui os atributos RA, Nome, Nota1, Nota2, Média, se for graduação o Ano e se for Pós-Graduação o Título. Logo cada aluno possui 6 atributos.

Qual seria a lógica para inclui-los nesse vetor? Isso não teria que ser uma matriz?

Quando eu incluir o primeiro, eu vejo o tamanho do meu vetor para habilitar o meu botão?

E para inserir os campos na minha textArea, eu uso um for ate percorrer todo vetor ou matriz?

Por favor me ajudem.

Ps.: em anexo segue uma ss da tela.

Grato.

Crie uma “variável” do tipo java.util.Vector (aliás, diga para o seu prof, q essa classe é muito antiga, e nem é mais usada)
ela é como se fosse uma lista, e você pode adicionar qualquer objeto nela usando o metodo add:

import java.util.Vector

public class SuaClasse {

  Vector alunos = new Vector();

  public void adiciona(Aluno a) {
     alunos.add(a);
  }

  public int verTamanho() {
     return alunos.size();
  }

}

espero ter ajudado, qq coisa é soh perguntar

Vou avisa-la sim, eu newbão de tudo pensei que era um vetor.

Vou implementar aqui e como ultimo recurso peço ajuda novamente.

Desde ja agradeço.

Abraços.

Para você não começar errado, use ArrayList, não Vector. O Vector é uma classe antiga, que foi considerada obsoleta a partir do Java 1.2. Ele também é sincronizado, sendo muito mais lento em diversas situações.

Para ver como usar list, em detalhes, veja o tópico:
http://www.guj.com.br/posts/list/74068.java#389435

Lá também tem um link com uma explicação detalhada do porque você não deve usar Vectors.

PS: No caso do código acima, dado de exemplo pelo rafagil, basta trocar a linha

Vector alunos = new Vector();

Por

List alunos = new ArrayList();

Se tiver usando Java 5, considere também dizer para o list qual é o tipo de dado que vai dentro dele.

List<Aluno> alunos = new ArrayList<Aluno>();

Não, ela não vai deixar utilizar isso. No outro bimestre ela tirou 2 pontos porque em um exercício ela não pedia Orientação a Objetos, ela queria que fizesse o programinha todo estrutural, e eu nem sabia, fiz umas coisas pra economizar codigo e me ferrei.

Professora mala, mas tudo bem.

Caras, agradeços muito a vocês, estou conseguindo fazer.

Só preciso de uma coisinha, eu estou tentando adicionar o conteúdo do Vector no jTextArea, mas não consigo.

Ja tentei jTextArea1.setText(alunos.toString()) e mais uns outros metodos que o NetBeans aponta, mas ta embassado.

Me ajudem nisso por gentileza.

Abraços.

Então mande o tópico acima para sua professora.
Ela não deveria estar dando aula usando para isso um recurso obsoleto. De qualquer forma, você ainda pode se garantir declarando o Vector assim:

List alunos = new Vector();

Ou

List alunos = new Vector();

Por causa de professores medíocres os alunos ficam pastando, pastando…

Se era para aprender programação estruturada que usasse uma linguagem própria para isso, como Pascal.

Java é bem mais interessante… só perde para o COBOL…

[quote=spdio]

Só preciso de uma coisinha, eu estou tentando adicionar o conteúdo do Vector no jTextArea, mas não consigo.

Ja tentei jTextArea1.setText(alunos.toString()) e mais uns outros metodos que o NetBeans aponta, mas ta embassado.

Me ajudem nisso por gentileza.

Abraços.[/quote]

resolvi assim:

... //seu codigo
for(int i = 0; i < alunos.size(); i++)
    jTextArea1.append(alunos.elementAt(i) + "\n");

caso um elemento de alunos seja uma estrutura, coloque o campo que deseja imprimir após o indice, por exemplo, o campo nome do aluno:

... //seu codigo
for(int i = 0; i < alunos.size(); i++)
    jTextArea1.append(alunos.elementAt(i).nome + "\n");

lembrando que o metodo objeto.append() apenas adiciona ao fim, e nao sobrepõe.

Galera, funcionou, muito obrigado a todos.

Eu também acho um saco isso de aprendermos coisas antigas, mas infelizmente a faculdade é muito fraca. Aprendi que para aprender mesmo é trabalhando, na faculdade vc tem teorias pra correr atrás, vai do interesse de cada um.

Mas é isso ai.

Um grande abraço.

E novamente muito obrigado.