如何限制所选CheckBox的数量 - JavaFX

时间:2016-08-19 18:12:17

标签: java javafx scenebuilder

是否可以在JavaFX中一次只能检查3个CheckBox, 与此页面上的内容完全相同:http://jsfiddle.net/sarathsprakash/m5EuS/680/

src/Model/Table/MyPluginsTable.php

但是在JavaFX中。

我需要在一组复选框中一次只能选择3个方框。所以我的程序中有10个复选框,但我需要一组6个,一次只能检查3个。我怎样才能在JavaFX中执行此操作?

1 个答案:

答案 0 :(得分:2)

非常简单,使用更改侦听器:

CheckBox[] myCheckboxes = ...;
int maxSel = 3;

for (int i = 0 ; i < myCheckboxes.length;i++)
    myCheckboxes[i].selectedProperty().addListener( (o, oldV, newV) -> {
        if(newV) {
            int sel = 0;
            for(CheckBox cb : myCheckboxes)
                if(cb.isSelected())
                    sel++;

            o.set(sel <= maxSel);
        }
    });

希望这有效。