2012-03-24 61 views
0

我用GWT框架創建了一些我的GUI元素。我只有一個簡單的onCLick方法的按鈕。當按鈕獲得焦點時(setfocus(true)),triogger會自動觸發一個點擊事件。但我只是想讓按鈕保持焦點而不觸發任何事件。 如何以簡單的方式製作它?Gwt:如何不着火焦點後點擊事件?


我的代碼:

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)** 
    } 

回答

0

如果你有一個標準com.google.gwt.user.client.ui.Button,呼籲它setFocus(true)不會激活該按鈕的ClickHandlers。如果你可以分享一些代碼,這可能是件好事,因爲你所描述的內容不應該發生,除非你明確地調用了Button.click()或者用戶實際上點擊了按鈕。