[英]JTextArea doesn't get new line \n correctly
我正在編寫一個提醒應用程序,該應用程序在JTextArea
顯示特定文本。 啟動Java應用程序時,該文本可以作為consol argument
傳遞,或者(如果沒有可用的參數)與另一個JTextArea
的自定義對話框一起傳遞,您可以在其中鍵入文本。
我想在提醒中添加一個段落(新行)。 當我在JTextArea
內的設置對話框中按Enter時 ,它可以完美運行。 但是,當我鍵入Statement1\\nStatement2
它恰好顯示了此文本,而不是兩行(我不能在控制台中鍵入Enter ,可以嗎?)。 當我調試代碼時,它會占用所有字符,並將反斜杠轉換為雙反斜杠,而不是將\\ n當作一個字符。 因此,字符\\n
將被拆分為\\\\
和n
(->不再有控制符號)。 同樣的事情也發生在以文本為參數的consol中。
我已經嘗試過\\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
如果要在命令行參數中使用\\ n作為分隔符,則必須在代碼中替換它,因為所有字符都以這種方式轉義。 您可以嘗試如下操作:
public static void main(String[] args){
String formattedString = args[0].replaceAll("\\\\n","\n");
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.