मैं उपयोगी जानकारी को छोड़ दिए बिना जितना संभव हो छोटा होना चाहता हूं। मैं निम्नलिखित वर्ग है:JavaFX TableView के लिए आइटम कैसे सेट करें - ऑब्जेक्ट में कोई अन्य ऑब्जेक्ट है?
public class Address{
StringProperty city = new SimpleStringProperty();
StringProperty street = new SimpleStringProperty();
//following the constructor, getters and setters
...
}
मैं किसी अन्य वर्ग ग्राहक है, कि एक कोई पता सदस्य
public class Client {
StringProperty name = new SimpleStringProperty();
StringProperty id = new SimpleStringProperty();
ObjectProperty<Address> address = new SimpleObjectProperty<>();
//following the constructor, getters and setters
...
}
और एक नियंत्रक के साथ एक JavaFX इंटरफ़ेस है कि एक tableview उद्देश्य यह है कि 3 में उत्पादन करना चाहिए शामिल है दिए गए ऑब्जेक्ट के लिए क्लाइंट क्लास के सदस्यों और पता वर्ग के शहर के सदस्य को कॉल करें। मेरे tableview और TableColumn परिभाषा निम्नलिखित कोड
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);
और निश्चित रूप से वहाँ है एक ObservableList clientData कि ग्राहक वस्तु की एक सरणी शामिल हैं। सबकुछ उस कॉलम को छोड़कर ठीक काम करता है जो प्रत्येक ग्राहक के लिए शहर को आउटपुट करना चाहिए। क्लाइंट ऑब्जेक्ट के शहर (एक पता सदस्य द्वारा निहित) के लिए कॉलम को कैसे परिभाषित किया जाना चाहिए? आपकी मदद के लिए
उपयोगी http://fxapps.blogspot.com/2012/09/showing-object-properties-in-tableview.html हो सकता है – invariant