0

How to launch event (shift + mouse left)?

asked 2013-05-30 15:45:00 +0800

wickers gravatar image wickers
1

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();
}

}

delete flag offensive retag edit
Be the first one to answer this question!
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
1 follower

RSS

Stats

Asked: 2013-05-30 15:45:00 +0800

Seen: 2 times

Last updated: May 30 '13

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