2012-06-11 16 views
5

tengo esta clase para mi cuadro de texto de entrada:¿Cómo enfocar el elemento en GWT?

class InputTextBox extends FlowPanel { 
     public InputTextBox(String labelText) { 
     super(); 
     Label label = new Label(labelText); 
     TextBox input = new TextBox(); 
     this.add(label); 
     this.add(input); 
     this.addStyleName("myBox"); 
     } 


    } 

¿Cómo se configura el enfoque en ese cuadro de texto de modo que cuando onModuleLoad se llama el cursor aparece en el cuadro de texto? Agregar una función miembro parece arrojar muchos errores.

 public void setFocus(boolean b) { 
     this.setFocus(b); 

     } 
+0

otra pregunta: ¿Cómo referencia el valor del cuadro de texto? private InputTextBox newUser = new InputTextBox ("Nombre de usuario"); newUser.getText() no funciona? –

Respuesta

2

Hacer un campo propiedad para usted cuadro de texto y en su método de llamada setFocus textBox.setFocus (verdadero), o lo que llamó su propiedad cuadro de texto.

0

cambiar su código al igual que

class InputTextBox extends FlowPanel { 
    private Label label; 
    private TextBox textBox; 

    public InputTextBox(String labelText) { 
     super(); 
     label = new Label(labelText); 
     textBox = new TextBox(); 
     this.add(label); 
     this.add(input); 
     this.addStyleName("myBox"); 
    } 

    public void setFocus(boolean focus) { 
     textBox.setFocus(focus); 
    } 

    public String getText() { 
     return textBox.getText(); 
    } 
} 

usarlo como así

private InputTextBox newUser = new InputTextBox("Username"); 
newUser.setFocus(true); // Set focus 
String value = newUser.getText(); // get text 
3

se debe añadir este bloque al constructor o método onLoad:

Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() { 
@Override 
public void execute() { 
    //call setFocus method here: 
    input.setFocus(true); 
}}); 
Cuestiones relacionadas