-
FEATURED COMPONENTS
First time here? Check out the FAQ!
Hi all:
How to launch event (shift + mouse left)?
Thanks.
<zk> <window title="new page title" border="normal" id="shiftWin" apply="cn.com.ShiftTetController">
<grid width="400px">
<rows>
<row>
Password
<textbox id="inp" onOK="doOk()"
onCancel="doCancel()" ctrlKeys="$n"
type="password" value="123456789" width="150px" forward="onCtrlKey=onDoCtrlKey"/>
</row>
</rows>
</grid>
<!-- ctrlKeys="^a#f8^#left" -->
</window>
</zk>
--------------------- controller -----------------------
package cn.com;
import java.io.Serializable;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.ForwardEvent; import org.zkoss.zk.ui.event.KeyEvent; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zkplus.databind.AnnotateDataBinder; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Textbox;
public class ShiftTetController extends GenericForwardComposer implements Serializable {
private static final long serialVersionUID = 6811897965456560548L;
private Textbox inp;
AnnotateDataBinder binder ;
@Override
public void doAfterCompose(Component shiftWin) throws Exception {
super.doAfterCompose(shiftWin);
binder = new AnnotateDataBinder(shiftWin);
shiftWin.addEventListener("onCtrlKey", new EventListener() {
public void onEvent(Event arg0) throws Exception {
System.out.println("===========");
}
});
}
public void onChangeValue(ForwardEvent event){
System.out.println(event.getOrigin().getData());
}
public void onDoCtrlKey(ForwardEvent event) {
System.out.println("===========");
KeyEvent ev = (KeyEvent)event.getOrigin();
try {
String s = "";
switch (ev.getKeyCode()) {
case 65: //ctrlKeys="^a"
s = "Ctrl+A";
break;
case 119: //ctrlKeys="#f8"
s = "F8";
break;
case 37: //ctrlKeys="#left"
s="keyboard left";
break;
case 112: // ctrlKeys="$#f1"
s="keyboard shift and f1";
break;
}
Messagebox.show(ev.getKeyCode() + " is pressed", "CtrlKey",
Messagebox.OK, Messagebox.EXCLAMATION);
} catch (InterruptedException e) {
e.printStackTrace();
}
inp.focus();
}
}
Asked: 2013-05-30 15:45:00 +0800
Seen: 2 times
Last updated: May 30 '13