sirve - obtener datos de una fila seleccionada en java
JTable: evento de clic en fila seleccionada (5)
Así es como lo hice:
table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event) {
// do some actions here, for example
// print first column value from selected row
System.out.println(table.getValueAt(table.getSelectedRow(), 0).toString());
}
});
Este código reacciona con el clic del mouse y la selección de elementos desde el teclado.
Tengo un Jtable que se rellena con una lista enlazada a través de un AbstractTableModel.
Lo que quiero hacer es cuando hago clic (clic con el botón izquierdo del mouse) en una fila en la tabla JT, la lista enlazada es búsqueda (en este caso, contiene títulos de películas) y muestra los valores en la lista enlazada en Jtextboxes
¿Cómo hago esto?
Aquí está el código
- GUI_g: http://pastebin.com/J3qtjn8J
- ProgramTableModel: http://pastebin.com/Dwkc9Cz3
- Procesamiento: http://pastebin.com/qHnkvCbr
- Principal: http://pastebin.com/K4yGYX9H
Supongo que recupera los datos de la fila seleccionada en una matriz, la divide y la coloca en las jtextareas. Cómo puedo hacer esto ?
Para saber qué fila se seleccionó, agregue un ListSelectionListener
, como se muestra en Cómo usar las tablas en el ejemplo SimpleTableSelectionDemo
. Una JList
puede construirse directamente desde el método toArray()
de la lista vinculada, y puede agregarle un oyente adecuado para obtener más detalles.
Puedes usar el evento MouseClicked
:
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// Do something.
}
Yo recomendaría usar Listas Esmaltadas para esto. Facilita la asignación de una estructura de datos a un modelo de tabla.
Para reaccionar al clic del ratón en el JTable, use un ActionListener: ActionListener en la celda JLabel o JTable
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
JTable source = (JTable)evt.getSource();
int row = source.rowAtPoint( evt.getPoint() );
int column = source.columnAtPoint( evt.getPoint() );
String s=source.getModel().getValueAt(row, column)+"";
JOptionPane.showMessageDialog(null, s);
}
Si quieres hacer click en vender en jtable usa de esta manera.