了解Oracle的TableView示例

时间:2019-02-01 22:52:37

标签: java tableview fxml

我正在竭尽全力来理解Oracle的教程,该教程关于如何在FXML中创建JavaFX TableView。就是这个: https://docs.oracle.com/javafx/2/fxml_get_started/fxml_tutorial_intermediate.htm#CACFEHBI

除了最重要的问题外,我什么都明白。我不能,我的生活,弄不清cellFactories如何连接到数据,I,E,他们是如何获得这些数据。这是列的FXML代码:

<columns>
   <TableColumn text="First Name">
    <cellValueFactory><PropertyValueFactory property="firstName" />
    </cellValueFactory>
 </TableColumn>
 <TableColumn text="Last Name">
    <cellValueFactory><PropertyValueFactory property="lastName" />
    </cellValueFactory>
 </TableColumn>
 <TableColumn text="Email Address">
     <cellValueFactory><PropertyValueFactory property="email" />
     </cellValueFactory>
</TableColumn>
</columns> 

在本教程中说:

“细胞工厂通过使用PropertyValueFactory类,它使用名字,姓氏,并且该表列作为Person类的相应的方法的参考文献的电子邮件属性实现。”

这些方法是:

    public String getLastName() {
    return lastTest.get();
   }

   public String getFirstName() {
    return lastTest.get();
   }

   public String getEmail() {
    return emailTest.get();
   }

如您所见,我在StringPorperties和字段中使用了一些名称来推断其工作原理,并弄清楚了PropertyValueFactory从getFirstName()/ getLastName()/ getEmail()方法获取其值。如果将方法的名称更改为getFirstTest(),则在按GUI中的按钮时,不再填充TableView。

我的问题是:这些方法到底如何连接到PropertyValueFactory类?我在代码中找不到任何线索,似乎它们以某种方式“知道”。

不幸的是,教程页面上没有任何解释,因此,如果你们中的任何人可以解释这一点或将我指出正确的解释,我将非常感激。

0 个答案:

没有答案