2016-02-14 17 views
0

我在做與ContactList類似的程序,但是當我嘗試添加信息時,看不到我的信息。但是如果我做了9次點擊,我可以看到滾動。 我有我的工作文件,下面結束prtsc fxml文件。JavaFx,應用程序不會添加信息

@FXML 
    private void initialize() throws IOException { 
    iniData(); 
    id.setCellValueFactory(new PropertyValueFactory<Work, Integer>("id")); 
    Fname.setCellValueFactory(new PropertyValueFactory<Work, String>("fname")); 
    Lname.setCellValueFactory(new PropertyValueFactory<Work, String>("lname")); 
    Phone.setCellValueFactory(new PropertyValueFactory<Work, String>("phone")); 
    Email.setCellValueFactory(new PropertyValueFactory<Work, String>("email")); 
    table.setItems(arr); 

    addName.setPromptText("fname"); 
    addName.setMaxWidth(Fname.getPrefWidth()); 
    addLName.setPromptText("lname"); 
    addLName.setMaxWidth(Lname.getPrefWidth()); 
    addPhone.setPromptText("phone"); 
    addPhone.setMaxWidth(Phone.getPrefWidth()); 
    addEmail.setPromptText("email"); 
    addEmail.setMaxWidth(Email.getPrefWidth()); 
btn01.setOnAction(new EventHandler<ActionEvent>() { 
    @Override 
    public void handle(ActionEvent event) { 
     arr.add(new Work(addName.getText(), 
       addLName.getText(), addPhone.getText(), addEmail.getText())); 
    } } );  } 

public void iniData() throws IOException { 
    arr.add(new Work(1, "Alex", "qwerty", "33333","[email protected]")); 
    arr.add(new Work(2, "Bob", "dsfsdfw","0987432", "[email protected]")); 
    arr.add(new Work(3, "Jeck", "dsfdsfwe","345743", "[email protected]")); 
    arr.add(new Work(4, "Mike", "iueern","32456", "[email protected]")); 
    arr.add(new Work(5, "colin", "woeirn","12233455", "[email protected]")); 
}} 

我的工作java文件。

public class Work implements Serializable{ 
    private Integer id; 
    private String Fname; 
    private String Lname; 
    private String Phone; 
    private String Email; 
    private String addFname; 
    private String addLname; 
    private String addPhone; 
    private String addEmail; 



    public Work(Integer id, String fname, String lname, String phone, String email) { 
     this.id = id; 
     Fname = fname; 
     Lname = lname; 
     Phone = phone; 
     Email = email; 
    } 

    public Work(String addFname, String addLname, String addPhone, String addEmail) { 
     this.addFname = addFname; 
     this.addLname = addLname; 
     this.addPhone = addPhone; 
     this.addEmail = addEmail; 
    } 

    public Integer getId() { 
     return id; 
    } 

    public void setId(Integer id) { 
     this.id = id; 
    } 

    public String getFname() { 
     return Fname; 
    } 

    public void setFname(String fname) { 
     Fname = fname; 
    } 

    public String getLname() { 
     return Lname; 
    } 

    public void setLname(String lname) { 
     Lname = lname; 
    } 

    public String getPhone() { 
     return Phone; 
    } 

    public void setPhone(String phone) { 
     Phone = phone; 
    } 

    public String getEmail() { 
     return Email; 
    } 

    public void setEmail(String email) { 
     Email = email; 
    } 

    public String getAddFname() { 
     return addFname; 
    } 

    public void setAddFname(String addFname) { 
     this.addFname = addFname; 
    } 

    public String getAddLname() { 
     return addLname; 
    } 

    public void setAddLname(String addLname) { 
     this.addLname = addLname; 
    } 

    public String getAddPhone() { 
     return addPhone; 
    } 

    public void setAddPhone(String addPhone) { 
     this.addPhone = addPhone; 
    } 

    public String getAddEmail() { 
     return addEmail; 
    } 

    public void setAddEmail(String addEmail) { 
     this.addEmail = addEmail; 
    } 
} 

this is the link to view fxml file

+0

,你能否告訴了'Work'類的替代? –

回答

0

正如你在你的工作不類使用屬性,你必須設置單元格狀

FName.setCellValueFactory(new Callback<CellDataFeatures<Work, String>, ObservableValue<String>>() { 
public ObservableValue<String> call(CellDataFeatures<Work, String> p) { 
    return new ReadOnlyObjectWrapper(p.getValue().getFname()); 
} 

});

正如你可以使用屬性,但AUS它們不是序列化,你必須重寫功能用於讀取和寫入對象discribed here

相關問題