2010-03-26 60 views
0

我有一个JeditorPane,它有一些HTML格式的文本。当我执行以下命令时在JEditor窗格中设置插入符号会导致例外

int len = editorPane.getText()。length();

给len的值是7473.但是后来我试着做到以下几点:

editorPane.setCaretPosition(4995);

而且我得到以下异常:java.lang.IllegalArgumentException异常:倒霉的位置:4995

我的理解是,如果在此我想设置插入符的位置是少,我应该只得到此异常比0或大于文本长度。它既不是。怎么会这样。

谢谢

埃利奥特

回答

1
int len = editorPane.getText().length(); 

为您提供文本和标签的长度。

尝试使用:

int len = editorPane.getDocument().getLength(); 

这只会给你的文档中的文本的长度。

+0

这解决了它对我来说。谢谢。 – Elliott 2010-03-26 04:09:31

0

我觉得现在的问题是,文中不仅包含渲染字符(你在文本HTML标签)。我猜setCaretPosition想要显示可见的文本位置。

例如,如果text = "<b>123</b>"和您拨打editorPane.setCaretPosition(2),我认为插入符号将介于'2'和'3'之间;

相关问题