Error con arraylist

Iniciado por Ruusa, 5 Marzo 2021, 17:33 PM

0 Miembros y 1 Visitante están viendo este tema.

Ruusa

Hola buenas tardes, me sale el siguiente error:

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 1


Cuando ejecuto este codigo:

public void menuJugador() {
JLabel cartaNum = new JLabel();
cartaNum.setBounds(420,250,120,120);


ImageIcon imagen = new ImageIcon(miControl.getJugador().cartasEnMano.get(indice)+".jpg");
JLabel btn = new JLabel();
btn.setBounds(270,350,120,180);

JLabel turno = new JLabel("Turno de: "+miControl.getJugador().getNombre());
turno.setBounds(0,0,200,20);
panel.add(turno);


JButton boton = new JButton("Siguiente");
boton.setBounds(420,360,100,30);


JButton boton3 = new JButton("Tirar");
boton3.setBounds(420,410,100,30);

JButton boton4 = new JButton("Agrupar");
boton4.setBounds(420,460,100,30);



btn.setIcon(new ImageIcon(imagen.getImage().getScaledInstance(btn.getWidth(),btn.getHeight(),Image.SCALE_SMOOTH)));
panel.add(btn);
panel.add(boton);
panel.add(boton3);
panel.add(boton4);
panel.add(cartaNum);
boton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (indice < miControl.getJugador().cartasEnMano.size()) {
r=indice;
ImageIcon imagen = new ImageIcon(miControl.getJugador().cartasEnMano.get(indice)+".jpg");
cartaNum.setText("Carta numero: "+ indice);
btn.setIcon(new ImageIcon(imagen.getImage().getScaledInstance(btn.getWidth(),btn.getHeight(),Image.SCALE_SMOOTH)));
indice++;

} else {
indice=0;
r=0;
}

}

} );

boton3.addActionListener(new ActionListener() { //al presionar este boton salta el error
public void actionPerformed(ActionEvent e) {
miControl.tirarCarta(r,miControl.getJugador()); ¿
indice=0;
r=0;


}




});

------------------------------------------------------------------------------------------------------------------------------------------


public void tirarCarta( int op, Jugador j) {
//op va a ser la carta a tirar y jugador va a ser el jugador que la tira
mesa.add(j.cartasEnMano.get(op)); //mesa es un arrayList y cartas en mano es un arraylist que
esta en la clase Jugador
j.cartasEnMano.remove(j.cartasEnMano.get(op));


}


Si alguien me puede ayudar se lo agradeceria

rub'n

#1
hola,

Seguro que varias veces no se te comento lo del Geshi para ver el codigo mejor?

y pasa el source completo.

e igual creo que el error esta en tirarCarta, pero el index que le pasas al ArrayList no esta.


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen