在JTextField中查找光标文本位置

时间:2012-06-13 15:58:22

标签: java swing caret jspinner

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

3 个答案:

答案 0 :(得分:13)

JTextField.getCaretPosition()

JTextField.setCaretPosition(int pos)

答案 1 :(得分: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方法返回您想要的结果,您可以将其分配给全局变量以供稍后使用。

答案 2 :(得分:1)

这是你的答案:

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

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