Gwt: Как не запускать событие клика после фокуса? - PullRequest
0 голосов
/ 25 марта 2012

Я создал некоторые элементы моего графического интерфейса с GWT Framework.У меня всего одна кнопка с простым методом onCLick.И когда кнопка получает фокус (setfocus (true)), триггер автоматически запускает событие щелчка.Но я просто хочу, чтобы кнопка удерживала фокус без огня каких-либо событий.Как это сделать простым способом?


мой код:

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 голосов
/ 25 марта 2012

Если у вас есть стандартный com.google.gwt.user.client.ui.Button, вызов setFocus(true) не активирует ClickHandlers для этой кнопки. Было бы хорошо, если бы вы могли поделиться некоторым кодом, потому что то, что вы описываете, не должно происходить, если вы явно не звоните Button.click() или пользователь фактически не нажимает кнопку.

...