-
FEATURED COMPONENTS
First time here? Check out the FAQ!
I am a new one in using zk.
now i have a question.
how to use arrow key instead of tab key.tab key makes component's focus from one to another.
please give me some advice and some tips.
next it is my thinking.
According to zk develop guide,ZK Client engine sits at the browser to detect any event triggered by user's activity such as moving mouse or changing a value. Once detected, it notifies ZK AU Engine by sending a ZK request.if we can interrupt this event(arrow key pressed) and make anthother event (tab key pressed) to instead. then zk au engine send a zk request .now i can not make another event(tab key pressed) to send zk au engine.
page code ang java code including:
---------
<?page title="new page title" contentType="text/html;charset=UTF-8"?>
<zk>
<window title="new page title" border="normal"
use="test.UsingArrowKey" ctrlKeys="#right">
<grid>
<rows>
<row>
<textbox />
<textbox />
<textbox />
<textbox />
</row>
<row>
<textbox />
<textbox />
<textbox />
<textbox />
</row>
<row>
<textbox />
<textbox />
<textbox />
<textbox />
</row>
</rows>
</grid>
</window>
</zk>
------------------------
package test;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.KeyEvent;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zul.Window;
@SuppressWarnings("serial")
public class UsingArrowKey extends Window implements AfterCompose {
public void onCtrlKey(KeyEvent event) {
if(event.getKeyCode()==9){
System.out.println("tab");
}
if (event.getKeyCode() == 39) {
String name = event.getName();
Component target = event.getTarget();
Event eve = new KeyEvent(name, target, 9, false, false, false);
Events.sendEvent(eve);
}
}
/*
* (non-Javadoc)
*
* @see org.zkoss.zk.ui.ext.AfterCompose#afterCompose()
*/
public void afterCompose() {
// TODO Auto-generated method stub
}
}
Asked: 2010-02-22 01:56:10 +0800
Seen: 947 times
Last updated: Feb 22 '10