Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JTextPane中删除最后一个字符_Java_Swing_Jtextpane - Fatal编程技术网

Java 从JTextPane中删除最后一个字符

Java 从JTextPane中删除最后一个字符,java,swing,jtextpane,Java,Swing,Jtextpane,我正在编写一个vt100模拟器,并使用带有DefaultStyledDocument的JTextPane来显示格式化文本。现在我想实现退格,所以我需要能够删除最后一个字符 我尝试了以下方法: doc.remove(doc.getEndPosition().getOffset()-1, doc.getEndPosition().getOffset()); 但我一直得到一个“javax.swing.text.BadLocationException:Invalid remove” 应该如何做到这一

我正在编写一个vt100模拟器,并使用带有DefaultStyledDocument的JTextPane来显示格式化文本。现在我想实现退格,所以我需要能够删除最后一个字符

我尝试了以下方法:

doc.remove(doc.getEndPosition().getOffset()-1, doc.getEndPosition().getOffset());
但我一直得到一个“javax.swing.text.BadLocationException:Invalid remove”


应该如何做到这一点?

您使用的API是错误的。最后一个参数是要删除的字符数,在本例中应为1


这是的API

为了充分阐明和论证你的问题,考虑创建和发布一个小的可编译和可运行的程序来演示我们的问题,谢谢。我还在琢磨如何让它发挥作用。使用以下语句:doc.remove(doc.getLength()-2,1);我只能删除一个字符一次。该语句删除一个字符。你是说如果你再叫它就不行了?我找到了正确的角色位置。最后一个字符可以由doc.remove(doc.getLength()-2,2);)删除;。