Título: Error con arraylist Publicado por: Ruusa en 5 Marzo 2021, 17:33 pm 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 Título: Re: Error con arraylist Publicado por: rub'n en 5 Marzo 2021, 23:38 pm 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. |