Java FXML表格视图“;fxmlPerson类不支持属性“;“贝斯特尔纳”;

Java FXML表格视图“;fxmlPerson类不支持属性“;“贝斯特尔纳”;,java,tableview,fxml,scenebuilder,Java,Tableview,Fxml,Scenebuilder,因此,我目前正试图为一家网上商店(大学作业)实现一个图形用户界面,我被困在列出所有当前订单的表格上。 GUI基于FXML应用程序。 我的表格视图如下: <TableView fx:id="tableView" prefHeight="400.0" prefWidth="1250.0" GridPane.columnIndex="0" GridPane.rowIndex="1"> <columns> <TableColumn text="Bestel

因此,我目前正试图为一家网上商店(大学作业)实现一个图形用户界面,我被困在列出所有当前订单的表格上。 GUI基于FXML应用程序。 我的表格视图如下:

<TableView fx:id="tableView" prefHeight="400.0" prefWidth="1250.0" GridPane.columnIndex="0" GridPane.rowIndex="1">
   <columns>
      <TableColumn text="Bestellnr.">
         <cellValueFactory>
            <PropertyValueFactory property="bestellnr" />
         </cellValueFactory>
      </TableColumn>
[7 more columns like that, but with different properties]
   </columns>
   <items>
      <FXCollections fx:factory="observableArrayList">
         <Person bestellnr="0001" kundennr="0000" kundenname="John Smith" summe="1000" lieferstatus="gesendet" bestelldatum="03.12.1291" liefertermin="05.12.1291" bezahlt="yes" />
      </FXCollections>
   </items>
</TableView>
我还向这些SimpleStringProperties添加了getter和setter方法:

   public String getBestellNr() {
        return bestellnr.get();
    }

    public void setBestellNr(String fName) {
        bestellnr.set(fName);
    }

    public String getKundenNr() {
        return kundennr.get();
    }

    public void setKundenNr(String fName) {
        kundennr.set(fName);
    }

    public String getKundenName() {
        return kundenname.get();
    }

    public void setKundenName(String fName) {
        kundenname.set(fName);
    }

    public String getSumme() {
        return summe.get();
    }

    public void setSumme(String fName) {
        summe.set(fName);
    }

    public String getLieferStatus() {
        return lieferstatus.get();
    }

    public void setLieferStatus(String fName) {
        lieferstatus.set(fName);
    }

    public String getBestellDatum() {
        return bestelldatum.get();
    }

    public void setBestellDatum(String fName) {
        bestelldatum.set(fName);
    }

    public String getLieferTermin() {
        return liefertermin.get();
    }

    public void setLieferTermin(String fName) {
        liefertermin.set(fName);
    }

    public String getBezahlt() {
        return bezahlt.get();
    }

    public void setBezahlt(String fName) {
        bezahlt.set(fName);
    }
现在,每次我尝试运行该项目时,都会出现错误“类fxmlPerson不支持属性”bestellnr

我基于本教程编写了这个程序:它是有效的。但当我开始添加额外的列时,我得到了这个错误


请提前感谢您的帮助!

FXML文件中使用的属性名称与getter和setter的方法名称不匹配

名为
getBestellnr
的属性必须对应于名为
getBestellnr
setBestellnr
的方法。您的方法名为
getBestellnr
setBestellnr
。字母
N
的大写是不同之处

要将属性名转换为getter或setter方法名,请大写第一个字母,并将
get
set
放在前面


将FXML中的属性
bestellnr
更改为
bestellnr
,或者将getter和setter方法更改为
getBestellnr
setBestellnr
。对属性名称和方法名称不匹配的其他属性重复此过程。

是否为这些属性添加了getter和setter?(请参阅)。如果是这样,请编辑您的问题以包含它们。@LukeWoodward是的,正如您在编辑后的帖子中所看到的那样。非常感谢!!它奏效了。我不敢相信我浪费了几个小时才发现那个简单的错误。。。
   public String getBestellNr() {
        return bestellnr.get();
    }

    public void setBestellNr(String fName) {
        bestellnr.set(fName);
    }

    public String getKundenNr() {
        return kundennr.get();
    }

    public void setKundenNr(String fName) {
        kundennr.set(fName);
    }

    public String getKundenName() {
        return kundenname.get();
    }

    public void setKundenName(String fName) {
        kundenname.set(fName);
    }

    public String getSumme() {
        return summe.get();
    }

    public void setSumme(String fName) {
        summe.set(fName);
    }

    public String getLieferStatus() {
        return lieferstatus.get();
    }

    public void setLieferStatus(String fName) {
        lieferstatus.set(fName);
    }

    public String getBestellDatum() {
        return bestelldatum.get();
    }

    public void setBestellDatum(String fName) {
        bestelldatum.set(fName);
    }

    public String getLieferTermin() {
        return liefertermin.get();
    }

    public void setLieferTermin(String fName) {
        liefertermin.set(fName);
    }

    public String getBezahlt() {
        return bezahlt.get();
    }

    public void setBezahlt(String fName) {
        bezahlt.set(fName);
    }