Java - Ayuda con este JCheckBox

 
Vista:

Ayuda con este JCheckBox

Publicado por Luisita 19 (3 intervenciones) el 30/01/2011 21:58:47
Holitas, estoy haciendo un arreglo de JCheckbox y siempre que ejecuto mi programa recibo este error en tiempo de ejecucion
:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
at Asi.get_JCheck1(Asi.java:341)
at Asi.get_Panel2(Asi.java:118)

Como podria resolver mi problema?
gracias

desde aqui llamo a mi metodo JCheckBox

public JPanel get_Panel2()
{
if(panel2==null)
{
panel2=new JPanel();
panel2.setLayout(null);
panel2.add(get_JCombo());
panel2.add(get_JCheck1());
contenedor.add(panel2);
}
return panel2;
}

Este es mi metodo JCheckBox que me da el error

public JCheckBox get_JCheck1()
{
int contador=0;
if(checkbox1==null)
{
checkbox1=new JCheckBox[2];
for(contador=0;contador<checkbox1.length;contador++)
{
checkbox1[0]=new JCheckBox("Ingresar");
checkbox1[1]=new JCheckBox("Actualizar");
add(checkbox1[contador]);
}
checkbox1[0].setBounds(10,10,150,30);
checkbox1[1].setBounds(10,10,100,30);
}
return checkbox1[contador];
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con este JCheckBox

Publicado por Luis (83 intervenciones) el 31/01/2011 15:33:35
Hola te voy a tratar de explicar cual es el error. Lo que sucede es que cuando vas a retornar el checkbox utilizando como indice del arreglo a contador te lanza la excepcion java.lang.ArrayIndexOutOfBoundsException: 2, lo que te indica esto es que te estas saliendo del arreglo, es decir, que la posición dos de ese arreglo no existe. Esto es por que contador vale dos al salir del for y los arreglos en java comienzan en 0. Dentro del for estas declarando los dos elementos que contendrá el arreglo checkbox1[0]=new JCheckBox("Ingresar"); checkbox1[1]=new JCheckBox("Actualizar");

Luego intentas retornar checkbox1[2] lo cual no existe, porque como te dije antes contador vale dos al salir del ciclo for.

Espero que esto te sirva de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar