8

有没有一种方法可以返回 JTextField 中字符的位置。我的意思是如果我有一个包含一些值的 JTextField。例如,该字段包含值 ABCDEFJ。用户决定将光标放在字符“C”之后以输入新值。有没有办法获得他进入新角色的位置。在此示例中,这将返回 3。

4

3 回答 3

15

JTextField.getCaretPosition()

JTextField.setCaretPosition(int pos)

于 2012-06-13T16:04:00.657 回答
2

尝试使用CaretListener接口:

public class A extends JFrame implements CaretListener
{
  //Assume you have a text field.
  public A()
  {
    JTextField field = new JTextField("bla bla");
    field.addCaretListener(this);
    .....
  }

  public void caretUpdate(CaretEvent e)
  {          
    int index = e.getDot();
    .....
  }
}

getDot()类的方法CaretEvent返回您想要的结果,您可以将其分配给全局变量以供以后使用。

于 2012-06-13T16:06:58.827 回答
1

这是你的答案:

http://docs.oracle.com/javase/6/docs/api/javax/swing/text/JTextComponent.html#getCaretPosition%28%29

使用 ActionListener 等待操作。当用户键入内容时,找到插入符号的位置。

于 2012-06-13T16:03:08.413 回答