Редактировать:
Не совсем уверен, что вы хотели сказать здесь:
JFXCheckBoxe с тем же именем не может быть добавлен снова.Почему это происходит и как я могу добавить новый JFXCheckBoxe с тем же именем, используя предоставленный код?
Если случай, когда он снова удаляется при вызове метода delete, убедитесь, что списки, содержащие элементы, подлежащие удалению, обновляются, чтобы при следующем вызове они больше не удалялись.
Старый пост:
Я не могу точно сказать, что вы имеете в виду или в каком контексте это происходит, но из того, что я могу догадаться, вы можете сделать следующее:назначьте для флажка идентификатор:
yourCheckBox.setID("yourIdHere");
И затем вы можете удалить его из списка, выполнив поиск этого идентификатора:
listView.getItems().removeIf(checkBox -> "yourIdHere".equals(checkBox.getId()));
В качестве альтернативы вы можете использовать тот же метод для проверки другихсвойства CheckBox
ов, но имейте в виду, что при совпадении нескольких элементов все они будут удалены.
Если у вас есть только один (или несколько) CheckBox
(ов), которые вам нужно удалить, выможет где-то сохранить ссылку в поле, а затем удалить ее следующим образом:
CheckBox yourCheckBox = new CheckBox();
// ...
listView.getItems().remove(yourCheckBox);
Кроме того, indexOf
необходимо использовать с объектами того же времени, что и в списке.Если вы объявили свой список для использования флажков:
ListView<CheckBox> listView = new ListView<>();
Затем indexOf
, remove
и другие методы, которые принимают Object
, должны быть переданы CheckBox
.