寻找在JTextField中的文本光标位置(Finding the cursor text posi

2019-09-18 01:55发布

是否有返回JTextField中字符的位置的方法。 我的意思是,如果我有它的一些值一个JTextField。 例如,该字段包含值ABCDEFJ。 用户决定把光标字符“C”后立即输入一个新值。 有没有让他进入新的字符位置的方法。 在这个例子中,这将返回3。

Answer 1:

JTextField.getCaretPosition()

JTextField.setCaretPosition(int pos)



Answer 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类返回你想要的结果,你可以把它分配给一个全局变量来以后使用。



Answer 3:

这里是你的答案:

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

使用一个ActionListener等待一个动作。 当用户键入的东西,找到插入位置。



文章来源: Finding the cursor text position in JTextField