0

Change Title window from java file

asked 2012-05-31 07:36:12 +0800

onsir gravatar image onsir
132 2

Hi all,

I want to change a window title while user double klick tree node. so in window title will fill form java file.
i have like this

MainMenu.zul

<?xml version="1.0" encoding="UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./mainMenu" ?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>

<zk xmlns="http://www.zkoss.org/2005/zul"
    xmlns:h="http://www.w3.org/1999/xhtml"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.zkoss.org/2005/zul
                        http://www.zkoss.org/2005/zul/zul.xsd">

	<window id="mainMenu"     width="1084px" height="600px" apply="zk.wnd.form.FormWindowComposer"> 
           <borderlayout id="bl">
			<north size="85px">
                                               <div>
                                              </div>
                                    </north>
			<west size="200px" splittable="true" flex="true" collapsible="true" >
                                          <tree id="tree" width="300px" >
		                      <treecols>
			                   <treecol label="*" />
		                      </treecols>
	                          </tree>
			</west>

                                <center id="center" border="none" margins="0,0,0,0"
				flex="true" autoscroll="true"
				style="background-color: #D6DCDE; padding: 5px">

				<div id="contentDiv">
					
                                    
				</div>
			</center>

			<south size="20px">
			
			</south>
		</borderlayout>
               
	</window>
</zk>

Salary.zul

<?xml version="1.0" encoding="UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./winSalary" ?>
<zk xmlns="http://www.zkoss.org/2005/zul"
	xmlns:h="http://www.w3.org/1999/xhtml"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<zscript>
<![CDATA[
    import zk.wnd.form.FormWindowComposer;
]]>
</zscript>

<window id="winSalary" width="650px"  border="normal" >

</window>
</zk>


FormWindowComposer.java

import org.apache.log4j.Logger;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.ComponentNotFoundException;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Center;
import org.zkoss.zul.Div;
import org.zkoss.zul.Hlayout;
import org.zkoss.zul.Label;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treecell;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.TreeitemRenderer;
import org.zkoss.zul.Treerow;
import org.zkoss.zul.Window;


public class FormWindowComposer extends SelectorComposer<Component>{

    private final static Logger logger = Logger.getLogger(FormWindowComposer.class);

        @Wire private Tree tree;
        @Wire Div contentDiv;
        @Wire Center center;
        @Wire Window winSalary;

        private AdvancedTreeModel formWindowTreeModel;
        protected Tabs tabsIndexCenter; // autowired
                    
	public void doAfterCompose(Component comp) throws Exception {
		super.doAfterCompose(comp);
                formWindowTreeModel = new AdvancedTreeModel(new FormWindowList().getRoot());
		tree.setItemRenderer(new FormWindowTreeRenderer());
		tree.setModel(formWindowTreeModel);
        }
	private final class FormWindowTreeRenderer implements TreeitemRenderer<FormWindowTreeNode> {
		@Override
		public void render(final Treeitem treeItem, FormWindowTreeNode treeNode, int index) throws Exception {
			FormWindowTreeNode ctn = treeNode;
			FormWindow formWindow = (FormWindow) ctn.getData();
			Treerow dataRow = new Treerow();
			dataRow.setParent(treeItem);
			treeItem.setValue(ctn);
			treeItem.setOpen(ctn.isOpen());
                       
			if (!isCategory(formWindow)) { // formWindow Row
				Hlayout hl = new Hlayout();
				hl.appendChild(new Label(formWindow.getName()));
				Treecell treeCell = new Treecell();
				treeCell.appendChild(hl);
				dataRow.appendChild(treeCell);
				dataRow.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener<Event>() {
					@Override
					public void onEvent(Event event) throws Exception {
                                          try{
                                                FormWindowTreeNode clickedNodeValue = (FormWindowTreeNode) ((Treeitem) event.getTarget().getParent()).getValue();
                                                
                                                String form=((FormWindow) clickedNodeValue.getData()).getName();
                                                checkForm(form);
                                            }catch(Exception e){
                                                e.printStackTrace();
                                            }
					}
				});
			} else { // Category Row
				dataRow.appendChild(new Treecell(formWindow.getCategory()));
			}
		}

		private boolean isCategory(FormWindow formWindow) {
			return formWindow.getName() == null;
		}
	}


private void checkForm(String form) throws InterruptedException{
       if(form.equalsIgnoreCase("Salary")){
            
           //this line i face error
            winSalary.setTitle("Add Data - Salary");
            
            Executions.createComponents("/WEB-INF/zk/master/Salary.zul",contentDiv,null);
          }

}

}

i got error

SEVERE: java.lang.NullPointerException
	at zk.wnd.form.FormWindowComposer.checkForm(FormWindowComposer.java:103)
	at zk.wnd.form.FormWindowComposer.access$100(FormWindowComposer.java:29)
	at zk.wnd.form.FormWindowComposer$FormWindowTreeRenderer$1.onEvent(FormWindowComposer.java:80)
	at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2741)
	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2712)
	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2653)
	at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
	at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1699)
	at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1484)
	at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1201)
	at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:558)
	at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:456)
	at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:464)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:722)

thanks

delete flag offensive retag edit
Be the first one to reply this discussion!
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2012-05-31 07:36:12 +0800

Seen: 126 times

Last updated: May 31 '12

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More