Используйте selectAll () в GWT TextArea - PullRequest
3 голосов
/ 01 августа 2011

Моя страница GWT имеет TextArea, и я хотел бы, чтобы она была в фокусе и чтобы весь текст выделялся именно тогда, когда эта страница загружена.Я пытаюсь код ниже, но он не работает вообще.Вы можете мне помочь?Спасибо

final TextArea myText = new TextArea();
myText.setCharacterWidth(50);
myText.setVisibleLines(20);
myText.setText("Just try something");
RootPanel.get("textContainer").add(myText);
myText.setVisible(true);
myText.setFocus(true);
myText.selectAll();

1 Ответ

5 голосов
/ 01 августа 2011

Документы TextBox.selectAll() говорят:

This will only work when the widget is attached to the document and not hidden.

Скорее всего, ваш TextBox еще не подключен к DOM, когда вы звоните .selectAll().

Попробуйте использовать Scheduler:

final TextArea myText = new TextArea();
myText.setCharacterWidth(50);
myText.setVisibleLines(20);
myText.setText("Just try something");
RootPanel.get("textContainer").add(myText);
Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
        @Override
        public void execute() {
            // your commands here
            myText.setVisible(true);
            myText.setFocus(true);
            myText.selectAll();
        }
});
...