Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Ciao,
    torno su questo thread perchè mi sono accorto di un problemino....

    Una volta che ho spuntato una JCheckBox non riesco più a deselezionarla
    se non creando un altro pannello e selezionando la stessa voce, quindi una
    voce del group. Ma poichè ci sono casi un cui l'utente può selezionare una JCheck
    e decidere di deselezionarla, come posso fare!?

  2. #12
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    conviene sempre lavorare con le API a portata di click, così in caso sai che cosa cercare su internet. Guardando ButtonGroup, si vede che c'è un metodo setSelected che potrebbe fare al caso nostro: ovvero, dobbiamo estendere ButtonGroup ed fare l'override di setSelected in modo che si comporti come vogliamo noi.
    ButtonGroup API - setSelected

    Per esempio aggiungiamo questa:
    codice:
    private class MyButtonGroup extends ButtonGroup {
                    
            public void setSelected(ButtonModel m, boolean b) {
                //E' da selezionare e non è già selezionato?
                if (b && m != this.getSelection()) {
                    // lo selezioniamo normalmente, con il comportamento "esclusivo"
                    // tipico di un ButtonGroup
                    super.setSelected(m, b);
                }
                // che facciamo negli altri casi?
                else {
                    // E' un pulsante già selezionato e lo dobbiamo deselezionare?
                    if (!b && m == this.getSelection()) {
                        this.clearSelection();
                    }                
                }
            }
        }
    ed ovviamente i ButtonGroup del codice d'esempio saranno MyButtonGroup adesso.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #13
    Grazie mille,
    ho inserito il codice e funziona benissimo.

    Purtroppo sono ancora molto grezzo con java.

    Gentilissimo, ciao

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