如何在j2me中显示错误后将焦点放在文本字段上?

时间:2011-03-04 17:49:04

标签: java-me

void getThisAlert(String Title,  Displayable txtagency2)
{
    Alert error = new Alert("", Title, null, AlertType.INFO);
    error.setTimeout(2000);
    Display.getDisplay(myProject).setCurrent(error,txtagency2);
}

我正在验证大量数据..所以在向用户表明他没有填写一些特定的细节后,我想把重点放在它上面......所以有人会请提供一些解决方案......

因为我可以把注意力集中在其他页面上。

1 个答案:

答案 0 :(得分:1)

您可以使用callSerially对象的Display方法avec类实现Runnable

private class ItemFocusEventHandler implements Runnable
{
     private Item _Item = null;

     public ItemFocusEventHandler(Item item)
     {
          _Item = item;
     }

     public void run()
     {
          try { Thread.sleep(1000); }
          catch (Throwable t) { ; }

          _display.setCurrentItem(_Item); // sets focus to item
     }
}

然后在数据验证例程中

if (_txtName.getString().length() == 0))
{
     Alert alert = new Alert(null, "Name ?", null, AlertType.ERROR);
     alert.setTimeout(2500);
     _display.setCurrent(alert, this);
     _display.callSerially(new ItemFocusEventHandler(_txtName));
}

这样焦点将收到_txtName。您也可以将该处理程序用于其他UI元素。