Ich möchte eine benutzerdefinierte Zelle in der ListView
machen. Entschuldige mein schlechtes Englisch! Ich möchte das Bild, Name und Status in der ListView
anzeigen. Dazu verwende ich eine andere Fxml
, die Hbox
enthält.Wie fxml mit benutzerdefinierter Zelle in einem ListView herunterladen?
public class Controller {
CollectionContactForListCollection contactForList = new CollectionContactForListCollection();
@FXML
private ListView<Contact> listContact ;
@FXML
HBox hbox;
@FXML
ImageView avatar;
@FXML
Label labelName;
@FXML
Label lblStatus;
@FXML
Label lblSense;
@FXML
private void initialize(){
contactForList.fieldData();
// listContact.setItems((ObservableList) contactForList.getContactList());
listContact.setCellFactory(new Callback<ListView<Contact>, ListCell<Contact>>() {
@Override
public ListCell<Contact> call(ListView<Contact> param) {
ListCell<Contact> listCell = new ListCell<Contact>() {
@Override
protected void updateItem(Contact item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
setGraphic(null);
} else {
//This method does not work download
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/view/boxInContact.fxml"));
fxmlLoader.setController(this);
labelName.setText(item.getName());
lblSense.setText(item.getSense());
lblStatus.setText(item.getStatus());
avatar.setImage(item.getImage());
}
}
};
return listCell;
}
});
listContact.setItems((ObservableList) contactForList.getContactList());
}
Bitte klären, was das spezifische Problem ist –
Haben Sie bereits die verwandten Links auf der rechten Seite, z http://stackoverflow.com/questions/19588029/customize-listview-in-javafx-with-fxml?rq=1? – jns
@NoamHacker Ich wollte wissen, ob ich fxml korrekt lade. Vielleicht gibt es eine andere Möglichkeit, benutzerdefinierte Zellen zu erstellen. – Poks