JavaFX:TableView:获取选定的行单元格值

标签 java javafx

我正在开发一个项目,其中 TableView 如下所示: The TableView

里面的数据是一个MySQL数据库,我使用一个modell和一个observableArrayList来获取它们。

我想创建一个初始化方法来读取整个选定的行并将其保存到文本字段中(如名称-名称、地址-地址等)。我尝试过这个,现在我可以选择整行数据,但无法将其拆分为字符串来设置 TextField 文本:

ListViewerModell details = (ListViewerModell) table.getSelectionModel().getSelectedItem();

//Checking if any row selected
if (details != null) {
//??? - split
editName.setText("*Name*");
editAddress.setText("*Address*");
}

尝试使用 modell getName()、getAdress() 方法,但我得到 NullPointerException 和 TablePos 方法。

最佳答案

// create table
TableView<Person> table = new TableView<Person>();

// create columns
TableColumn<Person, String> nameCol = new TableColumn<Person, String>("Name");
nameCol.setCellValueFactory(new PropertyValueFactory("name"));

TableColumn<Person, Address> addressCol = new TableColumn<Person, String>("Address");
addressCol.setCellValueFactory(new PropertyValueFactory("address"));

// add columns 
table.getColumns().setAll(nameCol, addressCol);

// get data from db, return object List<Person> from DB 
ObservableList<Person> persons = getPersonsFromDB();
table.setItems(persons);

tableView.setOnMouseClicked((MouseEvent event) -> {
    if (event.getClickCount() > 1) {
        onEdit();
    }
});

public void onEdit() {
    // check the table's selected item and get selected item
    if (table.getSelectionModel().getSelectedItem() != null) {
        Person selectedPerson = table.getSelectionModel().getSelectedItem();
        nameTextField.setText(selectedPerson.getName());
        addressTextField.setText(selectedPerson.getAddress());
    }
}

关于JavaFX:TableView:获取选定的行单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097537/

相关文章:

java - 将数据从 fragment 传递到自定义适配器(与 ListView 一起使用)

java - 如何在 Java 中使用占位符进行字符串格式化(如在 Python 中)?

JavaFX 图像空指针异常

javafx - 在 Jar 中为 Gluon Scene Builder 11.00 创建自定义控件

java - 通过另一个文件中的 Controller 实例引用在 MainController 中设置文本字段

java - 如何使用 Atmosphere 将广播限制到单个客户端

java - 如何以编程方式打开 SearchView?

java - 如何将数据从 Java 传递到 FXML?

java - Spring MVC 中带有变量文件名的 Jsp 包含文件指令

java - Eclipse 未检测到主方法 javafx