有没有办法添加一个唯一的字符串(消息),双击显示每个表行?我得到了使用PopUp显示消息的代码,但是如何为每个TableRow提供唯一的消息(字符串)?
现在我有List<String> rowMessages = new ArrayList();
我做了
tableView.setRowFactory(tv -> {
TableRow<ObservableList> row = new TableRow<>();
row.setOnMouseClicked(event -> {
if (event.getClickCount() == 2 && (!row.isEmpty())) {
System.out.print(rowMessages.get(tableView.getSelectionModel().getSelectedIndex);
}
});
return row;
});
这当然不是一个好方法 - 如果用户过滤或排序,根据列表rowMessages中的索引,索引不正确。
使用模型不是一种选择,因为数据是从用户选择的数据库中动态添加的。我现在也没有迭代tableview中的行。