Java - java.lang.IndexOutOfBoundsException: Index: 7, Size: 7

 
Vista:

java.lang.IndexOutOfBoundsException: Index: 7, Size: 7

Publicado por Fah (2 intervenciones) el 07/04/2012 17:51:21
Saludos,

Estoy agregando un nodo a un jtree, dicho nodo es un objeto con los siguientes campos:
id,
nombre,
padre,
tabla
al ejecutar dicha aplicación me sale la siguiente información en el stack:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 7, Size: 7
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at inventario_v1.RendererArbol.getTreeCellRendererComponent(RendererArbol.java:56)
	at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2717)
	at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
	at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
	at javax.swing.tree.VariableHeightLayoutCache.createNodeAt(VariableHeightLayoutCache.java:764)
	at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted(VariableHeightLayoutCache.java:473)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted(BasicTreeUI.java:3790)
	at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted(DefaultTreeModel.java:499)
	at javax.swing.tree.DefaultTreeModel.nodesWereInserted(DefaultTreeModel.java:296)
	at javax.swing.tree.DefaultTreeModel.insertNodeInto(DefaultTreeModel.java:223)
	at inventario_v1.claseArbol.i2Nodo(claseArbol.java:162)
	at inventario_v1.VentAgrObj.btnAceptarActionPerformed(VentAgrObj.java:205)
	at inventario_v1.VentAgrObj.access$000(VentAgrObj.java:20)
	at inventario_v1.VentAgrObj$1.actionPerformed(VentAgrObj.java:93)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6134)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
	at java.awt.Component.processEvent(Component.java:5899)
	at java.awt.Container.processEvent(Container.java:2023)
	at java.awt.Component.dispatchEventImpl(Component.java:4501)
	at java.awt.Container.dispatchEventImpl(Container.java:2081)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
	at java.awt.Container.dispatchEventImpl(Container.java:2067)
	at java.awt.Window.dispatchEventImpl(Window.java:2458)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


En le momento de la ejecución el valor del campo tabla es 7... No se si tiene algo que ver
Cualquier ayuda o sugerencia que me puedan dar sera muy bien recibida
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

java.lang.IndexOutOfBoundsException: Index: 7, Size: 7

Publicado por Ing. Oscar Ismael Marin Cabrera (3 intervenciones) el 14/04/2012 06:29:40
Hola.

Mira tu Error debe ser al momento de mandar llamar el indice de tu tabla, te digo que son muy diferentes el indice y el tamaño de la lista por ejemplo

Si le imprimes System.out.println(miLista.size()); te imprimira el tamaño de la lista pero si el tamaño de la lista es 7, su indice es 6 y así seria:

miLista.get(0); el tamaño de la lista es 1;
miLista.get(1); el tamaño de la lista es 2;
miLista.get(2); el tamaño de la lista es 3;
miLista.get(3); el tamaño de la lista es 4;
miLista.get(4); el tamaño de la lista es 5;
miLista.get(5); el tamaño de la lista es 6;
miLista.get(6); el tamaño de la lista es 7;

Espero con esto te resuelva el problema, si no me puedes consultar a mi correo.

Saludos. :(:
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

java.lang.IndexOutOfBoundsException: Index: 7, Size: 7

Publicado por fah (2 intervenciones) el 16/04/2012 01:35:36
Saludos,

Muchas gracias por la respuesta Ing. Oscar.
Si efectivamente estaba haciendo una llamada a una posición fuera del rango en un ArrayList, no tenía nada que ver con el JTree.

Nuevamente agradezco el apoyo dado, me ayudo a encontrar la falla y solucionarla
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