JTextField에서 문자의 위치를 반환하는 방법이 있습니까? 내가 의미하는 바는 JTextField 에 값이있는 경우입니다. 예를 들어,이 필드에는 값 ABCDEFJ가 포함됩니다. 사용자는 문자 'C'바로 뒤에 커서를 놓고 새 값을 입력하기로 결정합니다. 그가 새 문자를 입력 위치 얻을 수있는 방법이 있습니다. 이 예 에서 그는 3JTextField에서 커서 텍스트 위치 찾기
6
A
답변
13
1
여기 당신의 대답을 반환 :
http://docs.oracle.com/javase/6/docs/api/javax/swing/text/JTextComponent.html#getCaretPosition%28%29
는 행동을 기다려야하는 ActionListener를 사용합니다. 사용자가 무언가를 입력하면 캐럿 위치를 찾습니다.
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
, 당신이 할당 할 수 있습니다 에.
실제 사용 사례는 무엇입니까? 'JSpinner' (또는 편집 가능한'JComboBox')와 같이 사용하는 것이 더 나은 구성 요소가 될 것입니다. –
행동을 구현하는 방법보다는 특정 코드 솔루션을 요구하기 때문에 이는 좋은 질문이 아닙니다. 원하는 행동에 대한 실제 해결책은 완전히 다른 접근법을 포함 할 수 있습니다. 예를 들어, JTextField의 입력이 완료되기 전에 입력을 검사하려고한다면 실제로 사용하고자하는 것은 DocumentFilter입니다. 앞으로는 해결하고자하는 전반적인 문제에 대해 더 자세히 알려 주시기 바랍니다. –