GWT专注于TextBox它无法正常工作

时间:2010-11-28 08:39:36

标签: gwt focus

我正在尝试关注树中的特定列表视图,我使用以下代码

    this.txtListName.setCursorPos(this.txtListName.getText().length());
    this.txtListName.setFocus(true);

文本视图中的光标闪烁,但是当我键入一个键没有任何反应时,我必须再次选择文本视图才能键入。

为什么会这样。

解决

设置焦点是在for循环中完成的,循环并创建了Tree Items,当我从for循环中删除它时。

2 个答案:

答案 0 :(得分:3)

在您设置它之后,当前调用堆栈中的某些内容是否会将焦点移开。您可以尝试在超时时设置焦点:

(new Timer() {
   @Override
   public void run() {
     txtListName.setFocus(true);
   }
}).schedule(0);

答案 1 :(得分:2)

我尝试重新创建您的问题,但以下代码段对我有用:

public void onModuleLoad() {
    Tree tree = new Tree();
    final TextBox box = new TextBox();
    box.setText("some content");
    tree.add(box);

    Button btn = new Button("set focus");
    btn.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            box.setCursorPos(box.getText().length());
            box.setFocus(true);
        }
    });

    RootPanel.get().add(tree);
    RootPanel.get().add(btn);
}

这不是你想要达到的目标吗?