gpt4 book ai didi

java - 删除 JTextArea 中的行

转载 作者:行者123 更新时间:2023-12-01 21:09:11 24 4
gpt4 key购买 nike

我正在尝试删除 JTextArea 中的所有偶数行,但我无法使其正常工作。我的 JTextArea 称为“输入”,我使用 for 循环来迭代各行,然后删除所有偶数行。我的 for 循环:

for (int i=0; i<lineMax; i++) {
if (lineNum % 2 == 0) {
end = input.getLineEndOffset(0);
input.replaceRange("", 0, end);
}
lineNum++;
}

如果我将“这是一个测试”放入 JTextArea 中,每个单词都在一个新行上,那么输出将是“一个测试”(每个单词都在一个新行上)。

最佳答案

end = input.getLineEndOffset(0);
input.replaceRange("", 0, end);

这将始终获得第一行的偏移量,因此您将始终删除从偏移量 0 到第一行末尾的文本。

该算法将比您尝试在文本区域中向前循环时更复杂,因为每次删除一行时,后续行的偏移量都会发生变化,并且相对行数也会发生变化,因此您不知道哪一行是不再是奇数/偶数。

更简单的方法是从文本区域的最后一行开始。这样,当您删除文本时,前几行的相对行号就不会改变。

您可以使用 JTextArea 的以下方法来帮助处理逻辑:

  1. getLineCount() - 从这里开始并倒数到第 0 行
  2. getLineEndOffset()getLineStartOffset() - 当您找到偶数行时,您将获得两个偏移量并删除文本。

关于java - 删除 JTextArea 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41529485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com