I am trying to use primefaces drag and drop on a UIComponent
but the DragDropEvent
returns NullPointerException
. What am I probably doing wrong.
@Named(value = "dynaComponentController")
@RequestScoped
public class DynaComponentController {
private UIComponent component = new HtmlPanelGroup();
private boolean checker = false;
public void onComponentDrop(DragDropEvent event) {
component = event.getComponent();
int i = component.getChildCount();
if(i > 0){
checker = true;
}
}
My View is
<h:form prependId="false">
<h:panelGroup id="drop" layout="block" style="height:150px; width:300px;" styleClass="ui-widget-content">
<p> Drop Here </p>
<p:droppable for="drop" onDrop="#{dynaComponentController.onComponentDrop(event)}"/>
</h:panelGroup>
<br />
<h:panelGroup id="drag" layout="block" style="height:150px;width:300px;" binding="#{dynaComponentController.component}">
<h:outputLabel value="Drag Me" rendered="#{dynaComponentController.checker == false}"/>
<h:panelGroup rendered="#{dynaComponentController.checker == true}">
<h:inputTextarea id="complainID" />
</h:panelGroup>
<p:draggable for="drag"/>
</h:panelGroup>
Stacktrace
java.lang.NullPointerException
at org.morph.bean.DynaComponentController.onComponentDrop(DynaComponentController.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at javax.el.ELUtil.invokeMethod(ELUtil.java:308)
at javax.el.BeanELResolver.invoke(BeanELResolver.ja
Please the idea to drag a panel onto another panel using primefaces drag and drop feature. On-drop, I want the inputTextArea to be displayed. Please if there is a better way to go about this I will appreciate it. Thanks.