Java 从JTextPane中删除最后一个字符
我正在编写一个vt100模拟器,并使用带有DefaultStyledDocument的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” 应该如何做到这一
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);)删除;。