PDA

Visualizza la versione completa : [JAVA] JTable Selection Listener


cat82
03-01-2006, 18:45
Salve a tutti,
ho bisogno di selezionare da una Jtable pi righe contemporaneamente e sapere per ogniuna qual' il suo id.
Ho creato il seguente:


switch(TreeSel){
case 1:
Tabella.setSelectionMode(ListSelectionModel.SINGLE _SELECTION);
break;
case 2:
Tabella.setSelectionMode(ListSelectionModel.MULTIP LE_INTERVAL_SELECTION);
break;
}
/**Se true => posssibile selezionare l'intera riga se gestioneColonneJTable=false*/
if (gestioneRigheJTable) { // true by default
ListSelectionModel rowSM = Tabella.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
//Ignore extra messages.
if (e.getValueIsAdjusting()) return;

ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if (lsm.isSelectionEmpty()) {
selectedRow=-1;
System.out.println("No rows are selected.");
} else {
selectedRow = lsm.getMinSelectionIndex();
System.out.println("Row " + selectedRow + " is now selected.");
switch(TreeSel){
case 1:
VisualizzaRecordSelezionato(selectedRow);
if (flagTimerAttivo){
System.out.println("flag1 "+flagTimerAttivo);
timer.cancel();
flagTimerAttivo=false;
}
System.out.println("flag2 "+flagTimerAttivo);
timer=new Timer();
timer.schedule(new RemindTask(), 4000);
flagTimerAttivo=true;
System.out.println("flag3 "+flagTimerAttivo);
break;
case 2:
break;
}
}
}
});
} else {
Tabella.setRowSelectionAllowed(false);
}

Funziona nel caso 1 in cui voglio sapere la riga selezionata ma nn capisco perch il Jtable nn mi consente di fare le selezioni multiple.Mi blocca sempre la seleziona a una singola riga.
Aiutoo :dh:

floyd
04-01-2006, 09:58
forse TreeSel sempre 1

cat82
05-01-2006, 09:30
Ho risolto, grazie.Praticamente cambiava lo stato del TreeSel in alcuni casi mentre in altri si dovuto alla mancanza di un settaggio in un' altra parte di codice.
Domanda: Secondo te come posso fare per salvare e togliere l'id delle righe selezionate nel caso ne ho piu di una selezionata?
Ciao e grazie :madai!?:

Loading