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

    Trascinamento selezione JTable

    Salve ragazzi...
    ho creato una JTable, impostando la selezione a singola riga:


    codice:
    table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    Però se seleziono una riga, tengo premuto il mouse e trascino in basso la selezione si sposta ... sarebbe possibile evitare questo comportamento? vorrei che la selezione avvenga semplicemente tramite click del mouse e non tramite trascinamento ...

    Grazie

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

    Re: Trascinamento selezione JTable

    Originariamente inviato da giaomnitel1
    Però se seleziono una riga, tengo premuto il mouse e trascino in basso la selezione si sposta ... sarebbe possibile evitare questo comportamento? vorrei che la selezione avvenga semplicemente tramite click del mouse e non tramite trascinamento ...
    Si può fare ma in un modo un po' particolare: estendi JTable e fai l'override di changeSelection():

    codice:
    class MyTable extends JTable {
        // Metti il o i costruttori che ti interessano ....
    
        public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) {
            if (!extend) {
                super.changeSelection(rowIndex, columnIndex, toggle, extend);
            }
        }
    }
    Per comprendere il perché sia necessario non accettare un "extend" dovresti leggere la documentazione di changeSelection() e magari mettere un po' il naso nei sorgenti di JTable e javax.swing.plaf.basic.BasicTableUI.

    Notare che così si impedisce che il trascinamento con il mouse faccia cambiare selezione ma si impedisce anche il "trascinamento" da tastiera con shift+freccia su/giu.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie 1000...funziona alla perfezione

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.