Java - Ayuda urgente acerca de JTable

 
Vista:

Ayuda urgente acerca de JTable

Publicado por Cristian (50 intervenciones) el 28/10/2003 22:03:11
Hola amigos: mi problema es el sgte: Tengo una jTable de 7 columnas y 2 filas, la idea es que por ejemplo , estoy situado con el cursor en la 1ºa posicion(columna 0, fila0) y cuando me ingresan un valor a dicha celda, segun su contenido, el foco, es decir, el cursor tendria que pararse en la sgte o en la sub-sgte celda, me explico con un ejemplo, ingreso un valor numerico a la casilla(0,0) y si es mayor que 10.000 debe irse el cursor a la posicion (1,0) sino, pasara a la casilla (2,0), todo esto es porque no todos los valores llevan IVA(impuesto al valor agregado). Si alguien me podria decir como se hace eso, se lo agradeceria.
Gracias por su tiempo y lectura
salu2!
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 urgente acerca de JTable

Publicado por chuidiang (532 intervenciones) el 29/10/2003 09:46:13
Pidele el modelo a la tabla con un getModel().
Hazte una clase que implemente TableModelListener y añadela al modelo con modelo.addTableModelListener()
Esta clase se enterara de todos los cambios en el modelo. Una vez cambiado el dato y que tu clase se entere, puede tomar la decision de pasar el cursor a la celda que haga falta.
No se muy bien como se puede pasar el cursor de un sitio a otro, pero prueba con los metodos setEditingRow() y setEditingColumn() del JTable a ver si hay suerte.

Los nombres de metodos y clases te los pongo un poco de memoria, quizas no se llamen exactamente asi, pero existen.

Se bueno.
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

RE:Ayuda urgente acerca de JTable

Publicado por Manuel (8 intervenciones) el 29/10/2003 10:10:20
Quizá te sirva también detectar los cambios de celda seleccionada en lugar de los cambios en los datos.

El tableModelListener generará un evento siempre que una celda que estés editando pierda el foco, por ejemplo, si pulsan en una lista desplegable en otra aprte del formulario, y si ahí devuelves el foco a la tabla, queda feo (digo yo)

Para detectar los cambios de selección:
ListSelectionModel rowSM=jTable_llista.getSelectionModel();
ListSelectionModel colSM=
jTable_llista.getColumnModel().getSelectionModel();
colSM.addListSelectionListener(listSelectionListener);
rowSM.addListSelectionListener(listSelectionListener);

de todos modos, para cambiar la celda que se está editando:
jTable_llista.editCellAt(filaSeleccionada,col);
jTable_llista.setColumnSelectionInterval(col,col);
jTable_llista.setRowSelectionInterval(filaSeleccionada,filaSeleccionada);
Component aComp=jTable_llista.getEditorComponent();

Espero que sirva.
Un saludo!
aComp.requestFocus();
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