java - TableView delete button, removes the object but gives a error -


the problem error when use delete button actully removes obecjt the observelblelist.

the delete button method did youtube video dont understand data.foreach(data::remove);

could try explane me going on?

observablelist<barn> data =         fxcollections.observablearraylist(                  new barn("jacob", "smith", "240387"),                 new barn("isabella", "johnson", "250299"),                 new barn("ethan", "williams", "253647"),                 new barn("emma", "jones", "586947"),                 new barn("michael", "brown", "061100")         );  buttondelete.setonaction(event -> {             deletebutton();         });   public void deletebutton(){     data = tableview.getselectionmodel().getselecteditems();     data = tableview.getitems();     data.foreach(data::remove); } 

the error is:

exception in thread "javafx application thread" java.util.concurrentmodificationexception     @ java.util.abstractlist$itr.checkforcomodification(abstractlist.java:386)     @ java.util.abstractlist$itr.next(abstractlist.java:355)     @ java.lang.iterable.foreach(iterable.java:74)     @ sample.controller.deletebutton(controller.java:262)     @ sample.controller.lambda$new$4(controller.java:84)     @ com.sun.javafx.event.compositeeventhandler.dispatchbubblingevent(compositeeventhandler.java:86)     @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:238)     @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:191)     @ com.sun.javafx.event.compositeeventdispatcher.dispatchbubblingevent(compositeeventdispatcher.java:59)     @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:58)     @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114)     @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56)     @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114)     @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56)     @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114)     @ com.sun.javafx.event.eventutil.fireeventimpl(eventutil.java:74)     @ com.sun.javafx.event.eventutil.fireevent(eventutil.java:49)     @ javafx.event.event.fireevent(event.java:198)     @ javafx.scene.node.fireevent(node.java:8413)     @ javafx.scene.control.button.fire(button.java:185)     @ com.sun.javafx.scene.control.behavior.buttonbehavior.mousereleased(buttonbehavior.java:182)     @ com.sun.javafx.scene.control.skin.behaviorskinbase$1.handle(behaviorskinbase.java:96)     @ com.sun.javafx.scene.control.skin.behaviorskinbase$1.handle(behaviorskinbase.java:89)     @ com.sun.javafx.event.compositeeventhandler$normaleventhandlerrecord.handlebubblingevent(compositeeventhandler.java:218)     @ com.sun.javafx.event.compositeeventhandler.dispatchbubblingevent(compositeeventhandler.java:80)     @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:238)     @ com.sun.javafx.event.eventhandlermanager.dispatchbubblingevent(eventhandlermanager.java:191)     @ com.sun.javafx.event.compositeeventdispatcher.dispatchbubblingevent(compositeeventdispatcher.java:59)     @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:58)     @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114)     @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56)     @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114)     @ com.sun.javafx.event.basiceventdispatcher.dispatchevent(basiceventdispatcher.java:56)     @ com.sun.javafx.event.eventdispatchchainimpl.dispatchevent(eventdispatchchainimpl.java:114)     @ com.sun.javafx.event.eventutil.fireeventimpl(eventutil.java:74)     @ com.sun.javafx.event.eventutil.fireevent(eventutil.java:54)     @ javafx.event.event.fireevent(event.java:198)     @ javafx.scene.scene$mousehandler.process(scene.java:3757)     @ javafx.scene.scene$mousehandler.access$1500(scene.java:3485)     @ javafx.scene.scene.impl_processmouseevent(scene.java:1762)     @ javafx.scene.scene$scenepeerlistener.mouseevent(scene.java:2494)     @ com.sun.javafx.tk.quantum.glassvieweventhandler$mouseeventnotification.run(glassvieweventhandler.java:380)     @ com.sun.javafx.tk.quantum.glassvieweventhandler$mouseeventnotification.run(glassvieweventhandler.java:294)     @ java.security.accesscontroller.doprivileged(native method)     @ com.sun.javafx.tk.quantum.glassvieweventhandler.lambda$handlemouseevent$354(glassvieweventhandler.java:416)     @ com.sun.javafx.tk.quantum.quantumtoolkit.runwithoutrenderlock(quantumtoolkit.java:389)     @ com.sun.javafx.tk.quantum.glassvieweventhandler.handlemouseevent(glassvieweventhandler.java:415)     @ com.sun.glass.ui.view.handlemouseevent(view.java:555)     @ com.sun.glass.ui.view.notifymouse(view.java:937)     @ com.sun.glass.ui.win.winapplication._runloop(native method)     @ com.sun.glass.ui.win.winapplication.lambda$null$148(winapplication.java:191)     @ java.lang.thread.run(thread.java:745) 

try this:

public void deletebutton(){     int index = tableview.getselectionmodel().selectedindexproperty().get();                data.remove(index); } 

it retrieves index of selected row , removes it.


Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -