LWUIT - 显示TextField闪烁光标,即使该字段为空

时间:2011-09-20 10:28:52

标签: java-me lwuit

表格中有TextField。默认情况下,此TextField应该具有焦点, 哪个工作正常。现在我希望用户了解并告诉他, 他在TextField内 - 所以应该显示TextField游标 然后眨眼。

我只在drawTextFieldCursor中找到DefaultLookAndFeel。但是我有 绝对不知道如何将此应用于我的TextField

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


这是一个样本。我仍然没有工作。

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();
}

会发生什么:TextField是聚焦的,可以直接编辑,显示“Abc”模式,但我真正想要的是向用户显示光标,所以他知道他在TextField中。这种情况没有发生......如果有人可以向我展示一些工作代码......

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

drawTextFieldCursor方法有一个Graphics参数,因此绘制光标的方式是:

  1. 派生TextField
  2. public void paint(Graphics g)中,在设置TextField的绘图图形的绘图方法后调用drawTextFieldCursor。