Carregando vetor atraves de JtextField

Sou novo em java criei um programa no NetBeans e não estou conseguindo carregar um vetor atravé da jtextfield, ele só carrega uma posição do vetor de 3 posição , basicamente eu queria que o usuario digitasse algo e após apertar a tecla enter o dado digitado fosse para o vetor e após apareceria a opção se o usuario gostaria de digitar mais alguma coisa se sim tudo se repetiria novamente e se não fosse impresso na tela o vetor com os dados digitados, O PROBLEMA É QUE DE UM VETOR DE POR EXEMPLO 4 POSIÇÕES só consigo preencher apenas 2 posição abaixo segue o codigo

   if(evt.getKeyCode()== KeyEvent.VK_ENTER){ // aqui e pra chamar enter
     int o;
     
    vector[0] = (Integer.parseInt(caixa_1.getText()));        
  o = (JOptionPane.showConfirmDialog(null," Deseja Continuar ?","Atenção",JOptionPane.YES_NO_OPTION));            
      if( o == JOptionPane.YES_OPTION )
    {  
     vector[1] = (Integer.parseInt(caixa_1.getText()));       
    } 
       else  	
     
 if( o == JOptionPane.YES_OPTION ){
 vector[2] = (Integer.parseInt(caixa_1.getText()));
 } 
     else  	
     
 if( o == JOptionPane.YES_OPTION ){
 vector[3] = (Integer.parseInt(caixa_1.getText()));
 }
 
 
        else  
     mostrar();
    
         }

e aqui esta o método mostrar acima

public void mostrar(){
 JOptionPane.showMessageDialog(null,"lista de numeros digitados :" +"\n" + vector[0] + "\n" + vector[1]+"\n" + vector[2] +
"\n" + vector[3] + "\n","DADOS",JOptionPane.PLAIN_MESSAGE); 
}

Verifique se seu Vetor esta inicializado da seguinte forma:

int[] vetor = new int[4];

Meu vetor está como variável estática desta forma

public static int[] vetor = new int[4];

iniciado em uma JFrame,

porém ele continua armazenando só dois indice do vetor de 4 índices, não consigo entender porque isto ocorre ???

Acabei de mudar meu vetor para apenas 3 índices , porém ainda permanece o mesmo erro

Pessoal , descobri que são os meus ifs que estão logicamente incorretos para o que estou tentando fazer, porém, como eu poderia carregar um vetor de 3 ou mais índices atraves de uma jtextField ???

Seguinte jovem, não sei se é isso que vc precisa.
Coloque uma variável global que será seu ponteiro, indicando a próxima posição que o vetor recebe valor.

public class ClassVetorTeste {

    public static void main(String[] args) {
        int[] vector = new int[3]; // Isso deve ser global
        int posicao = 0; // Isso tbm deve ser global

        //coloque dentro do evento o conceito abaixo, lembrando q é só exemplo
        int o = (JOptionPane.showConfirmDialog(null, " Deseja Continuar ?", "Atenção", JOptionPane.YES_NO_OPTION));
        if (posicao < 3 && o == JOptionPane.YES_OPTION) { // verifica posicao menor que 3
            for (int i = 0; i < 3; i++) {// só para preencher os 3 elementos, isso e desnecessario no seu caso
                Random rw = new Random(); // só para ter valores diferentes, nos eu caso sera um textfield ao clicar em event Enter
                vector[posicao] = rw.nextInt(); // adiciona o valor na posicao do vector, no meu caso um Nº aleatório
                posicao++; // almenta posicao
            }
        }
        JOptionPane.showMessageDialog(null, "lista de numeros digitados :" + "\n" + vector[0] + "\n" + vector[1] + "\n" + vector[2], "DADOS", JOptionPane.PLAIN_MESSAGE);
    }
}

ola amigo brigado pela ajuda vou testar se funciona

há lembrando que eu criei um botão onde o meu método pra mostrar valores do vetor é mostrado através dele

acho que meu problema é que eu estou querendo popular o vetor atraves de um único evento, veja

if(evt.getKeyCode()== KeyEvent.VK_ENTER){ // aqui e pra chamar enter

for{ ( int i = 0; i < 3; i++)
vector[i] = (Integer.parseInt(caixa_1.getText()));
}
}

se eu coloco isto no evento o que econtece é que quando eu digitar um numero na caixa de texto e der enter ele vai pegar aquele valor e popular os 3 indices do vetor com o mesmo valor digitado na caixa de texto
e se eu tentar carregar manualmente cada indice do vetor ele consegue carregar apena dois indices veja

      int o;     

vector[0] = (Integer.parseInt(caixa_1.getText())); // aqui ele carega normal no primeiro indice

o = (JOptionPane.showConfirmDialog(null," Deseja Continuar ?",“Atenção”,JOptionPane.YES_NO_OPTION));
if( o == JOptionPane.YES_OPTION )
{
vector[1] = (Integer.parseInt(caixa_1.getText())); // aqui também no segundo indice

}  
  else

o = (JOptionPane.showConfirmDialog(null," Deseja Continuar ?",“Atenção”,JOptionPane.YES_NO_OPTION));
if( o == JOptionPane.YES_OPTION )
vector[3] = (Integer.parseInt(caixa_1.getText())); // já aqui ele fica vazio visto que pelo if e else eu obrigo o sistema escolher uma ou outra posição pra carregar

   else
       mostrar();

tendeu meu problema, talves meu jeito de fazer isto seja complicado, ou talvéz exista outra maneira
pra isto

Vc leu os comentários q coloquei no código q montei? eu disse q o for n entraria no seu caso, eu usei como exemplo. Mas enfim, Faz o seguinte, cria a variável global de inteiro chamado posicao, e sempre q vc clicar em ENTER no textfield faça posicao++; e no caso de onde gravar… grve o valor no vetor[posicao].
Não tem segredo.

Olá amigo, seu código deu certo, consegui popular o vetor da maneira que você falou

muito obrigado mesmo, fique com Deus

até mais