Je veux être court que possible sans omettre des informations utiles.
J'ai la classe suivante: J'ai un autre client de classe, celui-ci a un membre d'adresse P> et une interface JAVAFX avec un Contrôleur contenant un objet de la TableView qui devrait produire dans 3 colonnes les membres de la classe client et le membre de la ville de la classe d'adresses pour l'objet donné. Ma définition de la tableView and TapeColumn est le code suivant P> 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);
3 Réponses :
@Invariant Merci pour votre aide, j'ai googlé un peu plus et j'ai fini par la solution suivante:
clientCityCol = new TableColumn<>("City"); clientCityCol.setCellValueFactory(new PropertyValueFactory<Client, Address>("address")); // ======== setting the cell factory for the city column clientCityCol.setCellFactory(new Callback<TableColumn<Client, Address>, TableCell<Client, Address>>(){ @Override public TableCell<Client, Address> call(TableColumn<Client, Address> param) { TableCell<Client, Address> cityCell = new TableCell<Client, Address>(){ @Override protected void updateItem(Address item, boolean empty) { if (item != null) { Label cityLabel = new Label(item.getCity()); setGraphic(cityLabel); } } }; return cityCell; } });
J'ai vraiment aidé @Markus merci +1. Cela doit être une situation de conception courante, mais je trouve une monnaie d'information sur le Web. Pour tous les futurs visiteurs, il n'y a-t-il pas quelque chose dans la documentation officielle à ce sujet?
Juste ce que je cherchais, vous pouvez réellement dessiner tout ce que vous voulez sur upmestItem
Cela fonctionne dans FXML? P>
Considérez le code suivant: p>
Travailler de cette façon j'ai une cellule vierge. P>
Est-ce une question ou une réponse?
Merci pour cette réponse. Je pense que je viens de découvrir un tout autre aspect de JavaFX FXML
Vous avez oublié de mentionner que vous devez modifier la définition de clientCityCol TableColumn
TableColumn
Peut être utile fxapps.blogspot.com/2012/09 / ...