单元格

时间:2015-09-18 01:03:12

标签: java javafx tableview scenebuilder

所以我正在为我的Java / SQL讲座工作,为客户和建筑物提供管理工具,这些客户可以租用这些工具。

我为我的客户创建了一个.fxml,搜索一个sql数据库并显示它们,然后在TableView中显示它们。目前我只是在测试GUI并试图让这些东西正常工作,但我无法弄清楚如何正确地将文本放入我的TableView中。我为我的客户(Kunde)创建了一个类,为customer.fxml创建了一个控制器类。我还为我的客户制作了一个ObservableList,并将测试客户放入其中。 TableView实际上"显示"行但不只是值,而是添加" [...]属性[值:]"然后是字符串的实际值。但我只想在细胞中获得真正的价值。 Here是这个问题的一个小图片。

所以这是我的代码。我希望有人可以帮助我(一些评论或属性是德语,但我仍然希望你能理解其中的含义)。 CustomerController:

我的客户类:

package project.hausverwaltung.model;

import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;

public class Kunde {

    private SimpleStringProperty firstName;
    private SimpleStringProperty lastName;
    private SimpleStringProperty street;
    private SimpleStringProperty streetNumber;
    private SimpleIntegerProperty zip;
    private SimpleStringProperty city;
    private SimpleStringProperty birthDate;
    private SimpleIntegerProperty customerID;

    public Kunde(String firstName, String lastName, String street, String streetNumber, int zip, String city,
            int customerID, String birthDate) {
        this.firstName = new SimpleStringProperty(firstName);
        this.lastName = new SimpleStringProperty(lastName);
        this.street = new SimpleStringProperty(street);
        this.streetNumber = new SimpleStringProperty(streetNumber);
        this.zip = new SimpleIntegerProperty(zip);
        this.city = new SimpleStringProperty(city);
        this.birthDate = new SimpleStringProperty(birthDate);
        this.customerID = new SimpleIntegerProperty(customerID);
    }

    public SimpleStringProperty getFirstName() {
        return firstName;
    }

    public void setFirstName(SimpleStringProperty firstName) {
        this.firstName = firstName;
    }

    public SimpleStringProperty getLastName() {
        return lastName;
    }

    public void setLastName(SimpleStringProperty lastName) {
        this.lastName = lastName;
    }

    public SimpleStringProperty getStreet() {
        return street;
    }

    public void setStreet(SimpleStringProperty street) {
        this.street = street;
    }

    public SimpleStringProperty getStreetNumber() {
        return streetNumber;
    }

    public void setStreetNumber(SimpleStringProperty streetNumber) {
        this.streetNumber = streetNumber;
    }

    public SimpleIntegerProperty getZip() {
        return zip;
    }

    public void setZip(SimpleIntegerProperty zip) {
        this.zip = zip;
    }

    public SimpleStringProperty getCity() {
        return city;
    }

    public void setCity(SimpleStringProperty city) {
        this.city = city;
    }

    public SimpleStringProperty getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(SimpleStringProperty birthDate) {
        this.birthDate = birthDate;
    }

    public SimpleIntegerProperty getCustomerID() {
        return customerID;
    }

    public void setCustomerID(SimpleIntegerProperty customerID) {
        this.customerID = customerID;
    }

}

我希望你们中的任何人都能给我一些提示,我的代码有什么问题以及如何修复它。非常感谢!

1 个答案:

答案 0 :(得分:0)

对模型类(Kunde)使用JavaFX Properties pattern(这是常规Java Bean模式的一个相当简单的扩展)。换句话说,您可以通过通常的String方法定义名为firstName的{​​{1}}属性,该方法由可观察属性实现,然后为属性本身定义一个访问器方法。

您应该像往常一样编程接口,而不是将实现类用作模型类的公共API的一部分。

具体来说,它应该是:

get/set