2014-04-29 2 views
1

안녕하세요, 우리는 우리의 tableView에서 우리의 comboBox 용 이벤트 핸들러를 사용하려고했습니다. 하지만 어떤 이유로 이벤트 처리기가 시작되지 않습니다. 긴 검색 후 우리는 여전히 답을 찾지 못해 절망적입니다. 는 여기에 우리의 코드입니다tableView onEditCommit의 Java FX comboBox가 작동하지 않습니다.

//ComboBoxes in Tableview 
    @FXML 
    private TableColumn<Presentatie, Dag> dagC; 
    dagC.setCellValueFactory(new PropertyValueFactory<Presentatie, Dag>("dag")); 
    dagC.setEditable(true); 
    dagC.setCellFactory(ComboBoxTableCell.<Presentatie, Dag>forTableColumn(dataD)); 

    EventHandler<TableColumn.CellEditEvent<Presentatie, Dag>> nameEditHandler = new EventHandler<TableColumn.CellEditEvent<Presentatie, Dag>>() { 
     @Override 
     public void handle(TableColumn.CellEditEvent<Presentatie, Dag> e) { 
      Presentatie p = e.getRowValue(); 
      Dag newValue = e.getNewValue(); 
      p.setDag(newValue); 
      System.out.println("PLEASE"); 

     } 
    }; 
    dagC.setOnEditCommit(nameEditHandler); 

그리고 우리 dataD는 FXCollections.observableArrayList입니다.

우리는 장면 제작자와 협력하고 있습니다. 아마도 이것이 문제일까요? 장면 제작자가 이벤트 처리기를 업데이트하지 않는 곳을 읽었습니다. 그렇다면이 코드를 작동시키기 위해 우리가해야 할 일은 무엇입니까? 우리가 너무 감사 할 것이라고 도와주세요.

+0

그 것처럼 보입니다. 콤보 상자가 예상대로 나타 납니까? 'Presentatie' 클래스가'public ObjectProperty dagProperty() {...}'메소드를 가지고 있다면'onEditCommit' 핸들러는 중복됩니다 :'PropertyValueFactory'는 셀의 아이템에서 재산. –

답변

0

장면 작성 도구는 문제가되지 않습니다. 값이 null 인 문자열을 표시하는 몇 가지 이유로 인해 문제가 발생합니다. 해결책은 null 값을 빈 "" 문자열로 바꾸는 것입니다.

관련 문제