2016-08-19 75 views
0

是否有可能只允許3複選框在JavaFX的時間進行檢查, 正好就是在這個頁面上:http://jsfiddle.net/sarathsprakash/m5EuS/680/如何限制選擇複選框量 - 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

歡迎來到Stack Overflow!您能否在解決問題的努力中獲得更好的標題和更詳細的內容信息? – 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); 
     } 
    }); 

希望這個作品。