2014-07-04 2 views
0

내 프로젝트에 편집 가능한 테이블을 추가하려고하고 있으며 수행하려는 작업에 대한 개요를 제공하는 I found this code입니다. 그러나 매개 변수화되지 않은, 작동하도록 만드는 것입니다 (내 코드를 계속 입력 오류를 제공합니다). 이 상황을 매개 변수화하거나 원시 유형을 확인하는 방법이 있습니까?JavaFX가 편집 가능한 테이블 뷰

+0

이 테이블은 모든 문자열인가 :

이의 라인을 따라 뭔가를 시도? 맞춤 편집 셀이 필요하거나 필요합니까? [TextFieldTableCell] (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/cell/TextFieldTableCell.html#forTableColumn--)은 더 간단한 해결책입니다. – brian

+0

정수와 복식을 사용하고 싶습니다. 문자열을 사용하기 위해 약간의 확인을해야합니다. – awyea

답변

1

TableViewTableColumn을 매개 변수화하는 것이 항상 좋습니다.

링크 된 코드는 원시 형식을 사용하고 보조 셀 클래스 (예 : TextFieldTableCell)를 사용하지 않으므로 다소 "레거시"입니다.

TextFieldTableCellStringConverter<T>을 취하고 TableColumn<S,T>하는 cellFactory로 사용할 수있는 Callback를 돌려 고정 forTableColumn(...) 방법을 제공한다. StringConverter<T>TextField에 입력 된 StringT으로 변환하고 TString으로 변환하여 셀에 표시하는 방법을 제공합니다.

IntegerStringConverterDoubleStringConverter과 같이 숫자 유형에 표준 StringConverter이 제공됩니다.

TableView<MyDataType> table = new TableView<>(); 

TableColumn<MyDataType, Integer> intColumn = new TableColumn<>("Int Column"); 
intColumn.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter())); 

TableColumn<MyDataType, Double> doubleColumn = new TableColumn<>("Double Column"); 
doubleColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter())); 
+0

훌륭한 작품! 감사! – awyea

관련 문제