如何从JavaFX中的TableView
获取所选项目?从JavaFX中获取所选项目TableView
我目前使用
ObservableList selectedItems = taview.getSelectionModel().getSelectedItems();
,但不返回我的一个选择项中选择模型。
如何从JavaFX中的TableView
获取所选项目?从JavaFX中获取所选项目TableView
我目前使用
ObservableList selectedItems = taview.getSelectionModel().getSelectedItems();
,但不返回我的一个选择项中选择模型。
好吧,假设您有一个名为Person
的数据模型类。通过这种方式:
Person person = taview.getSelectionModel().getSelectedItem();
System.out.println(person.getName());
注意TableView
必须采取Person
作为一个类型参数,以避免铸造:
@FXML
private TableView<Person> taview;
或
TableView<Person> taview = new TableView<>();
当选择你行,你会回来的Person
实例。然后做那个你想要的那个实例。
使用此代码,您可以从JAVAFX TABLEVIEW单元中获取选定的值。
谢谢..
此代码为我工作。但只有当我选择另一行时才有效。即使选择了同一行,每次选择表格时,如何运行此代码 – viper
有什么方法可以让此侦听器中的鼠标坐标显示类似弹出菜单的内容? – leobelizquierdo
@pranishres
这是我尝试了小区选择更改侦听器(即使排不改变),灵感来自@Java人的代码:
tableView.getSelectionModel().setCellSelectionEnabled(true);
ObservableList selectedCells = tableView.getSelectionModel().getSelectedCells();
selectedCells.addListener(new ListChangeListener() {
@Override
public void onChanged(Change c) {
TablePosition tablePosition = (TablePosition) selectedCells.get(0);
Object val = tablePosition.getTableColumn().getCellData(tablePosition.getRow());
System.out.println("Selected Value" + val);
}
});
为我工作;)谢谢 –
如果您有一个名为Employee的Bean类。
Employee employee= tblView.getSelectionModel().getSelectedItem();
txtEmployeeName.setText(employee.getName());
为什么重复接受的答案? – kleopatra
** thanku **这么多 – user2536158
不客气! :) –
快速简单.. – rainer