2017-05-16 3 views
2

나는 ListView<String>을 가지고 있으며 목록의 특정 요소를 사용하지 않도록 설정하여 사용자가 선택 취소 할 수있게하려고합니다. 선택을 위해 지정된 요소 하나만 비활성화하는 방법이 있습니까?Javafx : ListView 목록의 지정된 요소를 사용하지 않음

+0

은? – user1803551

+0

예, 회색으로 표시 (가능한 경우)로 표시하려면 '버튼'을 비활성화하십시오. – Sunflame

+0

셀의 [setDisable] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#disableProperty)을 호출 하시겠습니까? – user1803551

답변

1

@ user1803551에 감사 @James_D 내가 여기에, 문제를 해결할 수있는 sollution입니다 : 당신이 선택 할 수 없다는 의미 "사용 안 함"으로

listView.setCellFactory(new Callback<ListView<String>, ListCell<String>>() { 
     @Override 
     public ListCell<String> call(ListView<String> param) { 
      return new ListCell<String>() { 
       @Override 
       protected void updateItem(String item, boolean empty) { 
        super.updateItem(item, empty); 
        if ("Orange".equals(item)) { 
         setDisable(true); 
        } else { 
         setDisable(false); 
        } 
        setText(item); 
       } 

      }; 
     } 
    }); 
관련 문제