Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    126

    [JAVA] JTable Selection Listener

    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:

    codice:
     switch(TreeSel){
                case 1:
                Tabella.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                break;
                case 2:
                Tabella.setSelectionMode(ListSelectionModel.MULTIPLE_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

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    forse TreeSel è sempre 1

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    126
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.