2012-05-30 4 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에서 Enter 바로 가기와 TextArea 모두

답변

9

사용 초점 흐림 청취자 제거하고 키 바로 가기 추가 : 만약 angel의

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

최신 버전의 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(); 
     } 
    });