i am having tableview with 5 columns, and 3 rows . now i want to fill data at row 1 and coloumn 2.please show me some sample code.
This is my code person.java
public class Person {
static int x = 1;
private final SimpleStringProperty firstName = new SimpleStringProperty("");
private final SimpleStringProperty lastName = new SimpleStringProperty("");
private final SimpleStringProperty emailid = new SimpleStringProperty("");
private final Integer iNumber = new Integer(x);
public Person(){
this("","","");
}
public Person(String fn,String ln,String eid){
x++;
setFirstName(fn);
setLastName(ln);
setEmailId(eid);
}
public void setFirstName(String fn){
firstName.set(fn);
}
public void setLastName(String ln){
lastName.set(ln);
}
public void setEmailId(String id){
emailid.set(id);
}
public String getFirstName(){
return firstName.get();
}
public String getLastName(){
return lastName.get();
}
public String getEmailId(){
return emailid.get();
}
}
AddressBookDocumentController.java code
public class AddressBookDocumentController implements Initializable {
public AddressBookDocumentController(){
this.personData = FXCollections.observableArrayList(
new Person("X","Y","Q"),
new Person("A","B","W"),
new Person("HAi","Bye","E")
);
}
@Override
public void initialize(URL url, ResourceBundle rb) {
firstName.setCellValueFactory(new PropertyValueFactory<Person,String>("firstName"));
lastName.setCellValueFactory(new PropertyValueFactory<Person,String>("lastName"));
emailId.setCellValueFactory(new PropertyValueFactory<Person,String>("emailId"));
tableId.setItems(personData);
}
final ObservableList<Person> personData ;
@FXML TableView<Person> tableId;
@FXML TableColumn<Person, String> firstName;
@FXML TableColumn<Person,String> lastName;
@FXML TableColumn<Person,String>emailId;
@FXML TextField tfName;
@FXML TextField tlName;
@FXML TextField tEmail;
@FXML public void handleButtonSave(){
tableId.getItems().get(0).setFirstName("JOHN"); //HERE CHANGES SHOULD REFLECT BUT IT's NOT HAPPENING
}
}
Thanks, pavan.