Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    442

    Impedire selezione su jlist

    E' possibile impedire che venga selezionato un elemento da una jlist mentre si sta facendo un'altra operazione? In pratica, disabilitare momentaneamente il listener o qualcosa del genere.

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    442
    Ho provato a usare questo metodo:

    codice:
    private void disableMenuListSelection() {
            menuList.setCellRenderer(new DefaultListCellRenderer() {
                @Override
                public Component getListCellRendererComponent(JList list, Object value, int index,
                        boolean isSelected, boolean cellHasFocus) {
                    super.getListCellRendererComponent(list, value, index, false, false);
    
                    return this;
                }
            });
        }
    Però non fa esattamente quel che vorrei. In pratica scompare solo lo sfondo blu di riga selezionata ma il resto funziona...

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non fai prima a fare setEnabled(false) sul componente JList?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    E' possibile impedire che venga selezionato un elemento da una jlist mentre si sta facendo un'altra operazione?
    La cosa più semplice: disabilitare il componente (setEnabled). Altrimenti per tutti quei casi in cui si vuole ad esempio limitare la selezione (es. max 3 selezionati) o controllarla/impedirla in modo particolare, bisogna lavorare a livello di ListSelectionModel, tipicamente estendendo DefaultListSelectionModel e sovrascrivendo qualcosa. Ma per farlo bisogna avere ben chiaro come funziona il ListSelectionModel.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    442
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Non fai prima a fare setEnabled(false) sul componente JList?
    Direi proprio di sì! Grazie (anche a andbin) era proprio quello che cercavo.

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.