Java me LUIT-显示文本字段闪烁光标,即使该字段为空

Java me LUIT-显示文本字段闪烁光标,即使该字段为空,java-me,lwuit,Java Me,Lwuit,我在表单中有一个TextField。默认情况下,此TextField应具有焦点, 这很好用。现在我想让用户意识到这一点,并向他展示, 他在TextField中,因此应该显示TextField光标 眨眼 我只在DefaultLookAndFeel中找到了drawTextFieldCursor。但我有 绝对不知道如何将此应用于我的文本字段 任何帮助和代码将不胜感激 这是一个样品。我还是没让它工作 public void search2() { searchForm

我在表单中有一个
TextField
。默认情况下,此
TextField
应具有焦点, 这很好用。现在我想让用户意识到这一点,并向他展示, 他在
TextField
中,因此应该显示TextField光标 眨眼

我只在
DefaultLookAndFeel
中找到了
drawTextFieldCursor
。但我有 绝对不知道如何将此应用于我的
文本字段

任何帮助和代码将不胜感激


这是一个样品。我还是没让它工作

public void search2() {
    searchForm                      = new Form();
    TextField searchArea = new TextField();
    searchForm.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
    searchForm.addComponent(searchArea);
    searchArea.requestFocus();
    int i = Display.getInstance().getKeyCode(Display.GAME_FIRE);
    searchArea.keyPressed(i);
    searchArea.keyReleased(i);
    searchForm.show();
}

发生的事情是:文本字段是聚焦的,可以直接编辑,显示“Abc”模式,但我真正想要的是向用户显示光标,这样他就知道自己在文本字段中。这是不会发生的。。。如果有人可以给我看一些工作代码…

drawTextFieldCursor方法有一个图形参数,因此您可以使用以下方式绘制光标:

  • 派生文本字段
  • 在其
    public void paint(Graphics g)
    中,在设置TextField的绘制图形的绘制方法后,调用drawTextFieldCursor

  • 您希望文本字段处于编辑模式,而不是显示文本字段光标(编辑时会发生这种情况)。使用
    requestFocus()
    确保文本字段具有焦点,然后使用类似以下内容:

    int i = Display.getInstance().getKeyCode(Display.GAME_FIRE);
    tf.keyPressed(i);
    tf.keyReleased(i);
    

    我triedpublic类TF扩展了TextField{public void paint(Graphics g){UIManager manager=getUIManager();manager.getLookAndFeel().drawTextField(g,this);manager.getLookAndFeel().drawTextFieldCursor(g,this);paintHint(g);}并将TextArea中的paintHint修改为受保护的void paintHint(Graphics g){,但仍然没有闪烁光标。在Javadoc中,据说
    闪烁只需避免调用此方法即可处理。
    public class TF扩展TextField{public void paint(Graphics g){UIManager=getUIManager();manager.getLookAndFeel().drawTextField(g,this);paintHint(g);}也不闪烁。它的作用是:它完全移除了光标-但我一直想要它。这很奇怪,因为我几乎在每个应用程序中都看到它闪烁。例如,在LWUIT演示中,它闪烁,而没有对当前聚焦组件进行任何破解或修补。我建议您在LWUIT演示中确认这一点,然后放置一个breakpo在LWUIT中输入int,然后查看为什么不为您绘制光标。它应该是无缝的。