samedi 30 mai 2015

Multiple, but limited, CheckBoxes in FXML/JavaFX

I'm trying to find a way to use check boxes to allow the user to pick two things from a list of three, and then have the remaining check box become disabled until one of the others is un-selected. I have a ChangeListener attached to all three check boxes, so I can register when two have been selected, but I don't know how to target the "other" box/boxes to disable/enable them.

ChangeListener checkboxlistener = new ChangeListener() {
int i = 0;
        @Override
        public void changed(ObservableValue observable, Object oldValue, Object newValue) {


            if((boolean) observable.getValue() == true) {

                i++;
                System.out.println(i);
            } else {
                i--;
                System.out.println(i);
            }
            if(i == 2) {
                //What should I put here, if anything?//
            }
        }

};
    checkbox1.selectedProperty().addListener(checkboxlistener);
    checkbox2.selectedProperty().addListener(checkboxlistener);
    checkbox3.selectedProperty().addListener(checkboxlistener);

}




Aucun commentaire:

Enregistrer un commentaire