Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Selezione Multipla su una jTable

    uffaaa..
    non riesco a fare la selezione multipla in una tabella.
    In pratica tramite la RowListener riesco a prelevare i valori di una riga che seleziono, in questa maniera:
    codice:
    private class RowListener implements ListSelectionListener {
          public void valueChanged(ListSelectionEvent event) {
          if (event.getValueIsAdjusting()) {
               return;
          }
          int row = jTableDocente.getSelectedRow();
    						
          user = (String) jTableDocente.getValueAt(row,0);
          nome = (String) jTableDocente.getValueAt(row,2);
          mail = (String) jTableDocente.getValueAt(row,3);
          tel = (String) jTableDocente.getValueAt(row,4);
          }
    }
    come dovrei fare se voglio selezionare 2, 5, o più righe, sempre salvandomi i valori selezionati?
    Giudica i tuoi successi dagli sforzi che hai dovuto compiere per superarli

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Selezione Multipla su una jTable

    Originariamente inviato da ivan86
    come dovrei fare se voglio selezionare 2, 5, o più righe, sempre salvandomi i valori selezionati?
    public int[] getSelectedRows()
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    ma mi devo creare un nuovo metodo?
    se non ti dispiace mi faresti un esempio?
    Giudica i tuoi successi dagli sforzi che hai dovuto compiere per superarli

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ivan86
    ma mi devo creare un nuovo metodo?
    Ma .... è di JTable!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    scusa ma non ho capito.. dovrei fare una cosa del tipo?:
    codice:
    private class RowListener implements ListSelectionListener {
          public void valueChanged(ListSelectionEvent event) {
          if (event.getValueIsAdjusting()) {
               return;
          }
          int[] row = jTableDocente.getSelectedRow();
    						
          user = (String) jTableDocente.getValueAt(row,0);
          nome = (String) jTableDocente.getValueAt(row,1);
          }
    }
    Giudica i tuoi successi dagli sforzi che hai dovuto compiere per superarli

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ivan86
    scusa ma non ho capito.. dovrei fare una cosa del tipo?:
    Ma visto che quel 'row' è un array, mi sembra chiaro (e ovvio) che devi fare come minimo un ciclo for per scansionare l'array, prendere ognuno dei numeri di riga dall'array e a quel punto andare a leggere i dati della riga.

    Scusa se lo dico ma qui si tratta di questioni ultra-basilari .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    del ciclo for era ovvio.
    pero sull'istruzione
    int[] row = jTable.getSelectedRow();
    mi da errore. non vuole che int[] sia un array, ma vuole semplicemente che sia un intero
    Giudica i tuoi successi dagli sforzi che hai dovuto compiere per superarli

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ivan86
    pero sull'istruzione
    int[] row = jTable.getSelectedRow();
    mi da errore. non vuole che int[] sia un array, ma vuole semplicemente che sia un intero
    getSelectedRows()
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9


    scusate se rompo.
    Ma ora provando a mettere il ciclo for e a salvarmi i dati, quando mando in esecuzione e clicco su una riga mi da errore.
    questo è quello ke ho fatto:
    codice:
    private class RowListener1 implements ListSelectionListener {
        public void valueChanged(ListSelectionEvent event) {
            if (event.getValueIsAdjusting()) {
                return;
            }
            int[] row1 = jTableDocente.getSelectedRows();
            int fino = row1.length;
            
            for(int i=0; i<fino; i++){
        	String[] user1 = (String[]) jTableDocente.getValueAt(row1[i],0);
      	String[] nome1 = (String[]) jTableDocente.getValueAt(row1[i],2);
            }
    }
    }
    cosa sbaglio?
    Giudica i tuoi successi dagli sforzi che hai dovuto compiere per superarli

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ivan86
    cosa sbaglio?
    Scusa ma ... perché metti String[]??? getValueAt ti dà il valore di una singola cella .... nel tuo caso, visto anche il codice che hai postato all'inizio del thread, sono presumibilmente dei String e basta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.