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 に答える