所以我正在为我的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;
}
}
我希望你们中的任何人都能给我一些提示,我的代码有什么问题以及如何修复它。非常感谢!
答案 0 :(得分:0)
对模型类(Kunde
)使用JavaFX Properties pattern(这是常规Java Bean模式的一个相当简单的扩展)。换句话说,您可以通过通常的String
方法定义名为firstName
的{{1}}属性,该方法由可观察属性实现,然后为属性本身定义一个访问器方法。
您应该像往常一样编程接口,而不是将实现类用作模型类的公共API的一部分。
具体来说,它应该是:
get/set