Ayuda java

Disculpa si te interumpo el código de ayer que me sugeriste
Me bota error
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
for (int i = 0; i < this.jTable1.getRowCount(); i++) {
if (jTable1.getValueAt(i, 3) != null) {
mod.removeRow(i);
}
}
2 es el indice de la columna de los checkbox

1 Respuesta

Respuesta
1
¿En qué linea te bota el error?
El error que me botas es el siguiente
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
En que linea te bota el error, el compilador te dice la linea del error.
Dice la linea 511 estoy trabajando en netbeans
Que seria básicamente
mod.removeRow(i);
run:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.removeElementAt(Vector.java:511)
at javax.swing.table.DefaultTableModel.removeRow(DefaultTableModel.java:446)
at sistema.de.proceso.general.informatico.TABLA.jButton1ActionPerformed(TABLA.java:135)
at sistema.de.proceso.general.informatico.TABLA.access$100(TABLA.java:19)
at sistema.de.proceso.general.informatico.TABLA$3.actionPerformed(TABLA.java:81)
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:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
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)
GENERACIÓN CORRECTA (total time: 10 seconds)
Ese metodo mod.removeRow(i); ¿Tu lo has creado? Xq a mi no me sale ese metodo en netbeans, ¿dime tu has creado ese modelo y ese metodo?
Pero tu que me sugieres como hago para realizar esa operaciones
Que me borre solo las filas que contienen los jcheckbox activados(true)
Haciendo clic en jbutton
Nooo, yo no te sugerí la parte del removeRow, eso tu me lo mandaste en el correo, y yo te lo devolví con tu mismo método, porque ese método de removeRow no existe en mi compilador
Por eso te pregunto DE NUEVO...
La variable mod, es el modelo de tu jTable, ¿tu lo has creado?
Y el método removeRow, ¿tu lo has creado?
La variable mod si es el modelo de mi jtable que declare
DefaultTableModel mod = new DefaultTableModel();
Y el método removeRow(1) cuando escribo
mod. me aparece ese, método y creí que era el indicado pero parece que no que se podría hacer en ese caso
Es muy raro, debería solucionarte... a ver no lo hagas con el for, hazlo manualmente, pon como comentario la parte del for, y solo deja el código que diga, removeRow
Y elimina una fila de tu JTable, prueba eliminando cada una de las filas a ver si te da error.
Primero lo estaba haciendo así le quite el mod.removeRow(i) hice otra aoperacion y funciona peor no puedo lograr eliminar filas seleccionadas
String op="";
for(int i=0;i<jTable1.getRowCount();i++){
op=""+jTable1.getValueAt(i, 3);
if (op.equals("true"));
//mod.removeRow(i);
jTextField1.setText("waldir");
}
Yo te he sugierido que solo dejes esto
mod.removeRow(0);
Luego que hagas
Mod. RemoveRow(1)... asi a todas las filas, una vez por boton para ver si se eliminan nada mas...
Tienes que aprender como identificar errores, no toda la vida vamos a estar para ayudarte...
Solo en el código del botón va esa sencena mod. RemoveRow(0) y le vas cambiando pruébalo con cada fila, a ver si se limina una luego otra.. y luego otra...
Ya se dondfe esta tu error !
Mira la pachotada que has hecho...
DefaultTableModel mod = new DefaultTableModel();
Como le vas a poner eso, ese mod, de donde esta recibiendo el modelo.. esta VACÍO !
Has debido poner
DefaultTableModel mod = JTable.getModel();
Ahi recien hacer
for (int i = 0; i < this.jTable1.getRowCount(); i++) {
if (jTable1.getValueAt(i, 3) != null) {
mod.removeRow(i);
}
}
Ya me había dado cuenta hace rato... ¿ves cómo no identificas tus propios errores? Programas por programar y luego andas como loco je je
DefaultTableModel mod = JTable.getModel();
No me deja poner esa linea de código me la sombrea diciendo incompatible
Tu lo as probado en tu ordenador realizando esta operación
... No es exactamente DefaultTableModel, solo TableModel
Concretamente tienes esto...
TableModel m=tabla.getModel();
DefaultTableModel mo= (DefaultTableModel)m;
mo.removeRow(0);
Con esto no tendrás problemas waldir xD
TableModel m=tabla.getModel();
Me bota error en esta expresión ilegal me dice
¿Habrás cambiado los nombres respectivos no? Vendrai a ser JTable1 en vez de tabla, ¿has importado los datos correspondientes?
Si e cambiado esos datos e impotado lo necesario y nada te parece si te mando mi proyecto a tu correo y lo revisas en que estoy fallando
Ok, mandalo pero lo reviso en la nocheque llegue a mi casa cuando este de regreso porque ya me voy a clases.
Ok listo te lo mande a tu correo gracias
Ok yo ya estoy de salida, lo reviso mañana en la mañana
Waldir, te puse el código que debías implementar y en e proyecto que me has mandado no lo has implementado, ¿qué pasa? ¿Me estas tomando el pelo? ¿Estas jugando con mi tiempo? Sinceramente parece que eres una persona que solo pega código sin saber lo que hace.
El código que va dentro de tu botón para eliminar los seleccionados es este
TableModel m= this.jTable1.getModel();
DefaultTableModel mod = (DefaultTableModel)m;
for (int i = 0; i < this.jTable1.getRowCount(); i++) {
if (jTable1.getValueAt(i, 0) != null) {
mod.removeRow(i);
}
}
Y es el mismo que te di unas respuestas arriba y me dijiste que te salia error. Tu error ya esta solucionado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas