even you found a workaround here an explanation why the previous could not work, and how it should work using this constructor for an event. http://www.zkoss.org/javadoc/latest/zk/org/zkoss/zk/ui/event/Event.html#Event%28java.lang.String,%20org.zkoss.zk.ui.Component,%20java.lang.Object%29
cor3000 ( 2015-04-09 02:43:12 +0800 )editIf you do not define the target component the event will only be sent to the ROOTcomponents (the <hbox> in your case) see the documentation link above. the simplest and most efficient usage is: Events.postEvent(new Event("updateCart", carComposerWin, cartObject)); No need for using an Eventqueue.
cor3000 ( 2015-04-09 02:46:08 +0800 )editAn event queue with APPLICATION scope is dangerous, as it will notify ALL concurrent users in all sessions, about the same event. If still needed use the DESKTOP SCOPE for this case instead (http://books.zkoss.org/wiki/ZKDeveloper%27sReference/EventHandling/EventQueues)
cor3000 ( 2015-04-09 02:49:08 +0800 )edit