我想在文本区域中逐行设置不同的标签大小。谁能给我一个解决方案。可能吗?我想,在文本区域上键入文本后,当我按下格式按钮时,想要为每一行添加一个选项卡。第 1 行 - 无制表符 第 2 - 1 个制表符 第 3 行 - 2 个制表符 第 4 - 3 个制表符
问问题
2151 次
3 回答
3
你读过 API 吗?API 有一个方法可以告诉您:
- 文本区域有多少行
- 每行的起始偏移量。
我会让你阅读 API 以找到方法。
然后,您将创建一个循环并获取每行的起始偏移量。然后你使用:
textArea.getDocument().insertString(...);
为每一行插入适当数量的制表符“\t”。
于 2013-09-12T15:28:10.360 回答
3
我认为默认选项卡大小/长度取决于操作系统/系统设置。\t
我相信在 Windows 上默认有 4 个空格....
至于在新行之后添加标签 - 您可以执行以下操作:
line.replace("\n", "\n\t");
或者
line.replaceAll("\n", "\n\t");
取决于您的用例。
如果您需要每次更进一步,请尝试以下操作:
String tabSpacing = "\n\t";
for (int i = 0; i < lines.length; i++) {
String line = lines[i].replace("\n",tabSpacing);
tabSpacing += "\t";
}
值得一提的是,换行符在某些系统环境中有所不同。例如,Windows 使用 crlf(回车,换行),而 *nix 只使用 lf(换行)。
因此,在 java 中,您将使用\r\n
或仅\n
取决于系统环境。解决此问题的一种方法是调用系统的属性。
System.getProperty("line.separator");
这可以结合使用:
final String lineSeparator = System.getProperty("line.separator");
line.replace(lineSeparator, lineSeparator += "\t");
ETC...
UPDATE --
基于来自 OP 的评论——您可能需要查看这个 SO 线程,了解如何将文本格式化为 Java 源代码标准格式:用于代码美化/格式化的 Java 库
于 2013-09-12T15:30:20.457 回答
1
于 2013-09-12T15:34:45.300 回答