Итак, у меня есть список, заполненный объектами дерева классов, я хочу иметь возможность редактировать и добавлять новые элементы дерева классов в список, и, если возможно, когда элемент выбран, и я нажимаю клавишу удаления, он будет удалить объект дерева из списка. первый элемент в списке - это элемент, который при перезаписи добавляет новый элемент в список и создает новое перезаписываемое дерево в верхней части списка, например, со строками, и я хочу его с объектами дерева
public void start(Stage primaryStage) {
simpleList = new ListView<>(FXCollections.observableArrayList("add new Tree here","Item1", "Item2", "Item3", "Item4"));
simpleList.setEditable(true);
simpleList.setCellFactory(TextFieldListCell.forListView());
simpleList.setOnEditCommit(new EventHandler<ListView.EditEvent<String>>() {
@Override
public void handle(ListView.EditEvent<String> t) {
simpleList.getItems().set(t.getIndex(), t.getNewValue());
if (t.getIndex() == 0){
simpleList.getItems().add(0,"add new tree here");
}
}
});
simpleList.setOnEditCancel(new EventHandler<ListView.EditEvent<String>>() {
@Override
public void handle(ListView.EditEvent<String> t) {
System.out.println("setOnEditCancel");
}
});
BorderPane root = new BorderPane();
root.setCenter(simpleList);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public class Tree {
private int id;
public int getId() {
return id;
}
private String name;
public String getName() {
return name;
}
public Tree(int id, String name){
this.id = id;
this.name = name;
}
public String toString() {
return this.getName();
}
}
Я знаю, как заставить его работать со строками, но не знаю, как я могу заставить его работать с объектами custum, уже искал и обнаружил, что мне пришлось использовать объект Callback
, но не могу заставить его работать, даже после попытки в течение нескольких часов.
Заранее спасибо!