voglio essere il più breve possibile senza omettere informazioni utili. Ho la seguente classe:Come impostare gli elementi per JavaFX TableView - l'oggetto contiene un altro oggetto?
public class Address{
StringProperty city = new SimpleStringProperty();
StringProperty street = new SimpleStringProperty();
//following the constructor, getters and setters
...
}
Ho un'altra classe client, che si ha un elemento Indirizzo
public class Client {
StringProperty name = new SimpleStringProperty();
StringProperty id = new SimpleStringProperty();
ObjectProperty<Address> address = new SimpleObjectProperty<>();
//following the constructor, getters and setters
...
}
e un'interfaccia JavaFX con un controller che contiene un oggetto TableView che deve emettere in 3 colonna i membri della classe Client e il membro della città della classe Address per l'oggetto specificato. Il mio TableView e TableColumn definizione sono il seguente codice
public class SettingsController {
TableColumn<Client, String> clientNameCol;
TableColumn<Client, String> clientEmailCol;
TableColumn<Client, String> clientCityCol;
private TableView<Client> clientSettingsTableView;
...
...
clientNameCol = new TableColumn<>("Name");
clientNameCol.setCellValueFactory(new PropertyValueFactory<Client, String>("name"));
clientEmailCol = new TableColumn<>("email");
clientEmailCol.setCellValueFactory(new PropertyValueFactory<Client, String>("email"));
clientCityCol = new TableColumn<>("City");
clientCityCol.setCellValueFactory(new PropertyValueFactory<Client, String>("city"));
clientSettingsTableView.setItems(clientData);
clientSettingsTableView.getColumns().clear();
clientSettingsTableView.getColumns().addAll(clientNameCol, clientEmailCol, clientCityCol);
e, naturalmente, c'è un clientData ObservableList che contiene una serie di oggetti client. Tutto funziona bene tranne la colonna che dovrebbe produrre la città per ogni cliente. Come dovrei definire la colonna per la città (contenuta da un membro Indirizzo) dell'oggetto Cliente?
potrebbe essere utile http://fxapps.blogspot.com/2012/09/showing-object-properties-in-tableview.html – invariant