2012-01-07 5 views
0

私はvt100エミュレータを作成していますが、書式設定されたテキストを表示するためにDefaultStyledDocumentでJTextPaneを使用しています。今私はバックスペースを実装したいので、私は最後の文字を削除することができる必要があります。JTextPaneの最後の文字を削除します。

私は次のことを試してみました:

doc.remove(doc.getEndPosition().getOffset()-1, doc.getEndPosition().getOffset()); 

しかし、私は入れません 'javax.swing.text.BadLocationExceptionを:無効な削除'

をどのようにこれが行われるべき?

+0

あなたの問題を完全に解明して実証するには、私たちの問題である[SSCCE](http://SSCCE.org)を示す小さなコンパイル可能で実行可能なプログラムの作成と投稿を検討してください。 –

答えて

2

あなたはAPIを間違って使用しています。最後のパラメータは、削除する文字数を1にする場合です。

ここにはDocument.remove(int, int)のAPIがあります。

+0

答えをありがとう、私はjavadocを誤解しました。私はそれを働かせる方法についてまだ困惑しています。次のステートメントを使用します。doc.remove(doc.getLength() - 2,1);私はキャラクターを1度だけ取り除くことができます。 –

+0

この文は1文字削除します。あなたはそれをもう一度呼び出すとうまくいかないと言っていますか? – Paul

+0

私は正しい文字列を見つけました。最後の文字はdoc.remove(doc.getLength() - 2、2);で削除できます。 –

関連する問題