2013-05-16 4 views
1

HTML 태그가 사용될 때 사용자 정의 HTMLEditorKit을 사용하여 스윙 구성 요소를 포함하는 JTextPane이 있습니다. 이 구성 요소를 클릭하면이 구성 요소의 위치로 캐럿 위치가 업데이트됩니다. 컨트롤에서 포커스 이벤트를 얻을 수 있지만이 구성 요소의 위치에 캐럿 위치를 설정하는 방법을 알지 못합니다. 누구나 어떻게 알아?JTextPane에 포함 된 스윙 구성 요소의 캐럿 위치

+1

[http://stackoverflow.com/search?q=user%3A301607+ [jtextpane] – mKorbel

+1

@mKorbel 감사합니다,하지만 난 비슷한 질문에 대답 기억이 안나요 : - [StanislavL]) – StanislavL

답변

4

. 반환 된 구형은 JTextPane의 위치입니다. viewToModel() 메서드를 사용하여 JTextPane 좌표 위치에 대한 캐럿 위치를 가져옵니다.

0

JTextPane의 콘텐츠 내에 포함 된 구성 요소의 문자 위치가 필요합니다. 더 자세한 내용이 없으면 어떻게 결정할 지 짐작할 방법이 없습니다. 당신이 구성 요소의 문자 위치를 알면 그러나,이 같은 쉬운 같은 :

myTextPane.setCaretPosition(characterIndexOfEmbeddedComponent); 

참조 : 당신은 컴퍼넌트의 부모를 클릭하고 parent.getBounds()을 사용하여 얻을 수있는 http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html#setCaretPosition(int)