Invocando listselectionlistener de un JTable

Después de agregar con éxito un ListSelectionListener y al registrar la acción del usuario, ahora necesito tener una fila preseleccionada en el JTable ver durante cuando el JFrame que lo contiene se inicializa desde una clase diferente:

// in constructor
rowSM_treatments = table_histories.getSelectionModel();
rowSM_treatments.addListSelectionListener(new ListSelectionListener() {
 public void valueChanged(ListSelectionEvent e) {
      if (e.getValueIsAdjusting()) return;
               ListSelectionModel lsm = (ListSelectionModel)e.getSource();
               if (lsm.isSelectionEmpty()) {
                   System.out.println("No rows are selected.");
               } else {
                   selectedRow_treatments = lsm.getMinSelectionIndex();
                   System.out.println("selected Row> " + selectedRow_treatments);
                   //do more
               }}});
// later on is this method which I mean to call from outside this class
  public void setSelectedRow(int row){
   rowSM_treatments.setLeadSelectionIndex(row);       
     }

preguntado el 08 de noviembre de 11 a las 12:11

Olvidó mencionar lo que estaba fallando y también olvidó hacer una pregunta. -

1 Respuestas

En lugar de jugar con el modelo de selección directamente, generalmente solo accedo a la tabla:

table.changeSelection(row, 0, false, false);

Entonces, siempre que su otra clase tenga una referencia a la tabla, puede hacer esto.

respondido 08 nov., 11:19

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.