有没有办法,我可以将光标位置设置为listgird文本框中字符串的结尾。 示例: 输入网站名称,一旦用户点击listgird的单元格,它将显示'http://'现在我希望我的光标位置到字符串的结尾。>
答案 0 :(得分:1)
很容易:
TextBox yourBox = new TextBox();
root.add(yourBox);
yourBox.setValue("AMSTERDAM");
yourBox.setFocus(true);
yourBox.setCursorPos(yourBox.getValue().length());
有时候在渲染完整组件时你会失去焦点。如果发生这种情况,您可以尝试将setFocus放入scheduleDeferred-Command中,这意味着,在完成浏览器的呈现过程后,将执行execute()中的代码。所以你可以肯定,没有其他组件也会成为焦点,你的组件会再次失去它。
final TextBox yourBox = new TextBox();
root.add(yourBox);
yourBox.setValue("AMSTERDAM");
Scheduler.get().scheduleDeferred(new ScheduledCommand()
{
@Override
public void execute()
{
yourBox.setFocus(true);
yourBox.setCursorPos(yourBox.getValue().length());
}
});