2010-03-26 21 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'之間;

相關問題