【发布时间】:2021-04-23 09:58:42
【问题描述】:
我正在尝试将数据填充到我的 tableview 中,一切似乎都很好,但仍然没有显示数据。 这是代码。一切似乎都很好,但 tableview 没有显示任何内容。连眨眼都没有……
public class MainPage implements Initializable {
@FXML
private AnchorPane root;
@FXML
private Button main_LogOut;
@FXML
private ComboBox<?> main_Clients;
@FXML
private ComboBox<?> main_Users;
@FXML
private TableView<customerDetails> table;
@FXML
private TableColumn<customerDetails, String> clientId;
@FXML
private TableColumn<customerDetails, String> clientName;
@FXML
private TableColumn<customerDetails, String> clientEmail;
@FXML
private TableColumn<customerDetails, String> clientRequirement;
@SuppressWarnings("unchecked")
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
clientId.setCellValueFactory(new PropertyValueFactory<customerDetails,String> ("Id"));
clientName.setCellValueFactory(new PropertyValueFactory<customerDetails, String>("name"));
clientEmail.setCellValueFactory(new PropertyValueFactory<customerDetails, String>("email"));
clientRequirement.setCellValueFactory(new PropertyValueFactory<customerDetails, String>("Requirements"));
table=new TableView<customerDetails>();
table.setItems(getClients());
table.getColumns().addAll(clientId,clientName,clientEmail,clientRequirement);
}
@FXML
void loadScene(ActionEvent event) throws IOException
{
AnchorPane pane=FXMLLoader.load(getClass().getResource("/lists/MainPage.fxml"));
root.getChildren().setAll(pane);
}
public ObservableList<customerDetails> getClients()
{
ObservableList<customerDetails> cd=FXCollections.observableArrayList();
customerDetails details=new customerDetails("moin123","moeen","789987","asdf","email","developer","abcd","adsadasdf","78987");
cd.add(details);
return cd;
}
和客户模型.....我不知道吸气剂二传手是否有任何问题。我读过一些关于 PropertyValueFactory 的问题。但在这里我希望能得到一点帮助。
public class customerDetails implements Serializable{
private String Id;
private String name;
private String phone_Number;
private String current_Address;
private String job_Title;
private String Company;
private String Requirements;
private String annual_Salary;
private String email;
public customerDetails()
{
}
public customerDetails(String c_id, String Name, String number, String curr_Add, String j_Title, String company, String req, String salary,String e_mail)
{
this.Id=c_id;
this.name=Name;
this.phone_Number=number;
this.current_Address=curr_Add;
this.job_Title=j_Title;
this.Company=company;
this.Requirements=req;
this.annual_Salary=salary;
this.email=e_mail;
}
public String getId() {
return Id;
}
public void setId(String id) {
Id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone_Number() {
return phone_Number;
}
public void setPhone_Number(String phone_Number) {
this.phone_Number = phone_Number;
}
public String getCurrent_Address() {
return current_Address;
}
public void setCurrent_Address(String current_Address) {
this.current_Address = current_Address;
}
public String getJob_Title() {
return job_Title;
}
public void setJob_Title(String job_Title) {
this.job_Title = job_Title;
}
public String getCompany() {
return Company;
}
public void setCompany(String company) {
Company = company;
}
public String getRequirements() {
return Requirements;
}
public void setRequirements(String requirements) {
Requirements = requirements;
}
public String getAnnual_Salary() {
return annual_Salary;
}
public void setAnnual_Salary(String annual_Salary) {
this.annual_Salary = annual_Salary;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
知道这里有什么问题吗?
【问题讨论】:
-
您需要遵循命名约定。这可能会解决你的问题。我不确定它是否会,但这就是代码中跳出的内容。
-
加:不要实例化注入的字段
-
实例化字段?
-
instantiate 完全正确,抱歉打错了.. 如果您不理解该评论,请阅读有关 java 语言基础的教程和如何使用 fxml 的教程跨度>
标签: java javafx arraylist tableview getter-setter