Gwt:如何在焦点后不发射点击事件?

时间:2012-03-24 20:24:45

标签: events gwt button onclick focus

我用GWT框架创建了GUI的一些元素。我只有一个带有简单onCLick方法的按钮。当按钮获得焦点(setfocus(true))时,triogger会自动触发单击事件。但我只是希望按钮保持焦点而不会发生任何事件。 如何以简单的方式制作它?


我的代码:

public void onModuleLoad(){
..............
    textBoxTx = new TextBox();
    textBoxTx.addKeyDownHandler(new KeyDownHandler() {
    public void onKeyDown(KeyDownEvent event) {
        switch(event.getNativeKeyCode()){ 
        case KeyCodes.KEY_ENTER: addTx();
    }
        }
   });
....
protected void addTx() 
    final String tx = textBoxTx.getText().toUpperCase().trim();
    textBoxTx.setFocus(true);
    if (!tx.matches("^[0-9\\.]{1,10}$")) {
        Window.alert("'" + tx + "' n'est pas valide .");
        textBoxTx.selectAll();
        return;
      }
    textBoxTx.setText("");
    param_Tx=Double.parseDouble(tx);
    if (param_An==0)
        rateFlexTable.setText(1, 2, tx);
    else
    {
    for (int i=1;i<=param_An;i++)
    rateFlexTable.setText(i, 2,tx);
    rateFlexTable.setText(param_An, 4,"");
    }
**// fire the click event of my button when I give the focus**
    **btnCalcul.setFocus(true)**
    }

1 个答案:

答案 0 :(得分:0)

如果您有标准com.google.gwt.user.client.ui.Button,则在其上调用setFocus(true)将不会激活该按钮的ClickHandlers。如果您可以共享一些代码可能会很好,因为除非您明确调用Button.click()或用户实际上是单击按钮,否则您所描述的内容不会发生。