1

我有一个 JTextPane,它使用自定义 HTMLEditorKit 在使用 HTML 标记时嵌入一个摆动组件。当我单击此组件时,我希望将插入符号位置更新为该组件的位置。我可以在控件中获取焦点事件,但是我不知道如何将插入符号位置设置为该组件的位置。有谁知道怎么做?

4

2 回答 2

4

您可以获得单击组件的父级并使用parent.getBounds(). 返回的矩形是 中的位置JTextPane。获取坐标位置的插入符号位置的使用viewToModel()方法。JTextPane

于 2013-05-17T05:58:11.640 回答
0

您需要 JTextPane 内容中嵌入组件的字符位置;如果没有更多细节,就无法猜测您将如何确定。然而,一旦你知道了组件的字符位置,就很简单了:

myTextPane.setCaretPosition(characterIndexOfEmbeddedComponent);

请参阅:http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html#setCaretPosition(int)

于 2013-05-16T20:28:14.237 回答