2016-08-19 2 views
0

Можно ли разрешить только 3 CheckBoxes быть проверены на время в JavaFX, точно так же как то, что находится на этой странице: http://jsfiddle.net/sarathsprakash/m5EuS/680/Как ограничить количество выбранных CheckBoxes - JavaFX

var theCheckboxes = $(".pricing-levels-3 input[type='checkbox']"); 
theCheckboxes.click(function() 
{ 
    if (theCheckboxes.filter(":checked").length > 3) 
    $(this).removeAttr("checked"); 
}); 

но в JavaFX.

Мне нужно иметь только 3 ящика, которые можно выбрать в определенный момент из группы флажков, которые у меня есть. Таким образом, у меня есть 10 флажков в моей программе, но мне нужна группа из 6 из них, для проверки по 3 раза. Как я могу это сделать в JavaFX?

+4

У вас есть какой-либо Java-код, который вы уже пробовали, чтобы показать нам? – Xetnus

+0

Добро пожаловать в переполнение стека! Можете ли вы получить лучшее название и более подробную информацию в контенте с вашими усилиями по решению проблемы? – manetsus

ответ

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); 
     } 
    }); 

Надеется, что это работает.

 Смежные вопросы

  • Нет связанных вопросов^_^