我正在研究tableview教程,我不明白一些错误

时间:2016-09-13 12:17:59

标签: java javafx tableview

我是Java的新手,正在研究TableView的教程,我不明白代码的一些问题。

我收到错误消息:

  

getColumns()的类型是错误的,其中S是类型变量S.   扩展在TableView

类中声明的Object

感谢您提出任何建议或帮助

罗杰

table = new TableView<>();
data = getInitialTableData();
table.setItems(data);

TableColumn titleCol = new TableColumn("Title");
titleCol.setCellValueFactory(new PropertyValueFactory<Book, String>("title"));
TableColumn authorCol = new TableColumn("Author");
authorCol.setCellValueFactory(new PropertyValueFactory<Book, String>("author"));

table.getColumns().setAll(titleCol, authorCol);


table.getSelectionModel().selectedIndexProperty().addListener(new RowSelectChangeListener());

2 个答案:

答案 0 :(得分:0)

您需要指定要尝试填充TableView的项目类型,请参阅documentation

中的示例
TableView<Person> table = new TableView<Person>();

答案 1 :(得分:0)

遵循Oracle的this教程。

您的代码必须如下:

TableColumn<Book,String> titleCol = new TableColumn<Book,String>("Title"); titleCol.setCellValueFactory(new PropertyValueFactory<Book, String>("title"));

最佳改进:

TableColumn<Book,String> titleCol = new TableColumn<>("Title"); titleCol.setCellValueFactory(new PropertyValueFactory<>("title"));