java - JTextArea 无法正确获取新行\n

标签 java swing console character newline

我正在编写一个提醒应用程序,它在 JTextArea 中显示特定文本。当您启动 java 应用程序时,或者(如果没有可用参数)使用带有另一个 JTextArea 的自定义对话框(您可以在其中输入文本)时,该文本可以作为 consol argument 传递。

我想在提醒中添加一个段落(换行)。当我在 JTextArea 内的设置对话框中按 Enter 时,它工作得很好。但是,当我输入 Statement1\nStatement2 时,它会准确显示此文本,而不是两行(我无法在控制台内输入 Enter,可以吗?)。当我调试代码时,它会特别获取每个字符并将反斜杠转换为双反斜杠,而不是将\n 作为一个字符。因此字符 \n 将被拆分为 \\n (--> 不再有控制符号)。以文本作为参数的控制台也会发生同样的事情。

我已经尝试过 \n\r\n 甚至 \\n\\\n >,但它会特别获取每个字符并将其转换。

如何才能让 Java 知道反斜杠和 n 在一起?我如何获得新线路?

最佳答案

这与Java无关。要在 Unix 终端中键入 Enter,请用引号括起来,或在其前面加上反斜杠,或键入 Ctrl-V

$ echo "hello
> world"
hello
world

在 Windows 上,cmd.exe 使用 ^ 作为转义码。

C:\>java ClassName param1^
More?                                                           (press Enter)
More? param2

关于java - JTextArea 无法正确获取新行\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641197/

相关文章:

excel - WScript.Shell Exec 的实时控制台输出

Java 进程在 GC 之前停止

java - 如何退出Java循环?基本猜谜游戏中的 while 循环

Java:如何在不修改类文件的情况下添加到基类

eclipse - 如何在 Eclipse 中使用终端 View

javascript - 通过控制台获取TD元素中的所有名字

java - 将 Displaytag 与 spring web mvc 集成所需的帮助

java - 在透明窗口上绘制不透明内容

java - 处理后重新启动 JFrame

java - 有没有办法让 JPanel 的布局像树形图一样?