Этот псевдокод нуждается в рефакторинге, так как у меня нет всего кода, который вы используете, но я бы хотел, чтобы вы поняли общую идею
Хорошо, я считаю, что в коде нажатия кнопки вы должны сообщитьна вашем фиктивном сервере, список которого в данный момент используется, попробуйте добавить его на фиктивный сервер
List currentList = null;
public void setCurrentList(String listName) { // you can use integer but the best is to use enum type setCurrentList(enum) this way you will get tapeSafety
switch(listName){
case "ingredients" : currentList = ingredients ; break;
//other cases
default : throw new Exception(" list not referred error with key value"+listName);
}
}
public void delete(Object o){
int index = this.currentList.indexOf(o);
this.currentList.remove(index);
}
, теперь вы можете обновить контроллер удаления, как показано ниже
public void delete(){
MockServer.getServer().delete(defaultTableView.getSelectionModel().getSelectedItem());
}
Почему это должно работать?
Вы должны знать, что существует хорошая практика, которая говорит код интерфейсу, а не реализации
Как вы знаете Список в Java - это интерфейс, поэтому, когда я назначил ингридиенты объект, этот интерфейс будет ссылаться на тот же ArrayList, что и объект, и будет воспринимать все его поведение (как искать объект ингредиента и т. Д.) Таким образом, когда мы будем использовать currentList во время выполнения после кнопкинажмите, мы уверены, что currentList будет таким же, как список, по которому щелкнули, и указывая на тот же список в памяти
Желаю это простои действительно возобновить объяснение может помочь вам