尝试从文档中删除文本时出现 javax.swing.text.BadLocationException

标签 java swing text document

我正在尝试从文档中删除/删除两点之间的一些文本。 假设我有一个包含文本“1234XS”的文档,我正在尝试删除索引 4 和 5 之间的文本“XS”。但是,当我尝试删除时,我收到 BadLocationException 错误它。这是我所拥有的:

System.out.println(tp.getText().length());//tp is a JTextPane. prints out 6, just to show I'm not going out of bounds
System.out.println(position+ "-" + (position+ 1));//prints out 4 and 5
tp.getStyledDocument().remove(position, (position + 1));//crashes here, trying to remove "XS" from "1234XS"

最佳答案

remove(position, position + 1)

remove(...) 方法的参数不是 startend 偏移量。

参数是开始长度。所以代码应该是:

remove(position, 1)

关于尝试从文档中删除文本时出现 javax.swing.text.BadLocationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33979536/

相关文章:

java - 将字符串的值保存到另一个类并检索它

java - 在不同设备(平板电脑和手机)上调用两个不同的 Activity

java - 如何在java中保存非常大的二进制代码

java - 如何制作一个JList,其中每个项目都包含JCheckBox和JLabel,并在单击时具有不同的事件

javascript - Eclipse 在多行中键入代码

arrays - 如何使用数组作为文本源在 React Native 中动态创建文本?

java - 无法实例化类型 SocketChannel

java - 使用 .png 作为标签图标

java - 从 JTextArea 中删除边框

Python:如何将 .txt 文件的第一列大写。