JavaFx,应用程序don';不要添加信息
我正在联系人列表上执行类似的程序,但当我尝试添加信息时,我看不到我的信息。但如果我点击九下,我就能看到滚动。 我有我的工作文件,下面是end prtsc fxml文件JavaFx,应用程序don';不要添加信息,javafx,Javafx,我正在联系人列表上执行类似的程序,但当我尝试添加信息时,我看不到我的信息。但如果我点击九下,我就能看到滚动。 我有我的工作文件,下面是end prtsc fxml文件 @FXML private void initialize() throws IOException { iniData(); id.setCellValueFactory(new PropertyValueFactory<Work, Integer>("id")); Fname.setC
@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","alex@mail.com"));
arr.add(new Work(2, "Bob", "dsfsdfw","0987432", "bob@mail.com"));
arr.add(new Work(3, "Jeck", "dsfdsfwe","345743", "Jeck@mail.com"));
arr.add(new Work(4, "Mike", "iueern","32456", "mike@mail.com"));
arr.add(new Work(5, "colin", "woeirn","12233455", "colin@mail.com"));
}}
由于您没有在工作类中使用属性,因此必须将单元格设置为
FName.setCellValueFactory(new Callback<CellDataFeatures<Work, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Work, String> p) {
return new ReadOnlyObjectWrapper(p.getValue().getFname());
}
FName.setCellValueFactory(新回调(){
公共可观察值呼叫(CellDatap){
返回新的ReadOnlyObjectWrapper(p.getValue().getFname());
}
}))
作为替代方案,您可以使用属性,但由于属性不可序列化,您必须重写读取和写入对象的函数,如所述您可以显示
工作
类吗?
FName.setCellValueFactory(new Callback<CellDataFeatures<Work, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Work, String> p) {
return new ReadOnlyObjectWrapper(p.getValue().getFname());
}