2012-05-30 16 views
3
TextField f = new TextField(); 
Button b = new Button("Save"); 
b.setClickShortcut(KeyCode.ENTER); // For quick saving from text field itself 

TextArea longText = new TextArea(); // "Enter" is garbled here 

很熱使快捷方式只能工作在從文本字段?在Vaadin中都輸入快捷方式和TextArea

回答

9

使用對焦和模糊聽衆刪除和添加快捷鍵:

f.addFocusListener(new FocusListener() { 
     @Override 
     public void focus(FocusEvent event) { 
      b.setClickShortcut(KeyCode.ENTER); 
     } 
    }); 
    f.addBlurListener(new BlurListener() { 
     @Override 
     public void blur(BlurEvent event) { 
      b.removeClickShortcut(); 
     } 
    }); 
1

Vaadin的新版本需要以下代碼的addListener()現已棄用。

f.addFocusListener(new FocusListener() { 

     private static final long serialVersionUID = -6733373447805994139L; 

     @Override 
     public void focus(FocusEvent event) { 
      b.setClickShortcut(KeyCode.ENTER); 
     } 
    }); 

    f.addBlurListener(new BlurListener() { 

     private static final long serialVersionUID = -3673311830300629513L; 

     @Override 
     public void blur(BlurEvent event) { 
      b.removeClickShortcut(); 
     } 
    });