如何JavaEE Vaadin框架TextField1输入下一步移动到光标TextField2?

问题描述:

如何禁止回车----> Sicil没有回车----> TC Kimlik no ENTERBORÇ_BUL?如何JavaEE Vaadin框架TextField1输入下一步移动到光标TextField2?

enter image description here

+0

你能在英语 –

+0

英文编辑的问题吗? – kukis

如果您triyng使用ENTER键作为TAB键。下面的代码不是很优雅,但它的工作原理。你可以重构,从一个数组等设置的顺序...

试想一个登录表单(用户名和密码字段,登入按钮):

public class LoginView extends VerticalLayout { 

private TextField username; 
private PasswordField passwordFld; 
private AbstractTextField current; 

public LoginView(
    buildFields(); 
} 

private void buildFields(){ 
    HorizontalLayout fields = new HorizontalLayout(); 
    username = new TextField("User"); 
    passwordFld = new PasswordField("Pwd"); 
    Button signin = new Button("Sign"); 
    fields.addComponents(username, passwordFld,signin);   

    username.addFocusListener(new FocusListener() {  
     public void focus(FocusEvent event) { 
      current = username;    
     } 
    }); 
    passwordFld.addFocusListener(new FocusListener() {  
     public void focus(FocusEvent event) { 
      current = passwordFld;    
     } 
    }); 
    ShortcutListener enterkey = new ShortcutListener ("Enter", KeyCode.ENTER, null){ 
     public void handleAction(Object sender, Object target) { 
      if (current.equals(username)){ 
       passwordFld.focus(); 
      }else if (current.equals(passwordFld)){ 
       sign(); 
      }else{ 
       sign(); 
      } 
     }  
    }; 
    fields.addShortcutListener(enterkey);  
    signin.addClickListener(getClickListener());   
    addComponent(fields); 
} 

private ClickListener getClickListener() { 
    return new ClickListener() {    
     public void buttonClick(final ClickEvent event) { 
      sign(); 
     } 
    }; 
} 
private void sign(){ 
//Do the sign in or fail 
    } 
    }