我的Java应用程序中有一个名为JTextArea
的{{1}}控件。我已将txtInput
设置为true,将lineWrap
设置为true。
单击按钮控件时,换行符是否可以自动合并到wrapWordStyle
(来自String
控件)中,还是必须处理字符串?
例如,如果我输入的文字是:
然后我的字符串就像
“这是一个测试,看看我是否可以获得新行\ n合并”
感谢。
答案 0 :(得分:0)
直接获取\ n是不可能的,但您可以处理字符串并手动引入\ n:
首先,您需要将文本中的所有不同行分隔为数组。 duration
然后将它们连接在变量String[] lines = yourTextArea.getText().split("\\n");
中,其中包含\ n:
String finalText
和finalText将是您在每行末尾用\ n引入的文字。
答案 1 :(得分:0)
JTextArea没有这种类型的文本检索的简单方法。老实说,如果这是您绝对需要的功能,我可以采取一些步骤来寻找可能的解决方案。
首先,将JTextArea的字体设置为monospace字体。有关如何执行此操作的说明,请参阅here。
完成此操作后,将JTextArea设置为具有固定宽度,并确定在具有该固定宽度的行中适合的字符数。
一旦你知道一行中有多少个字符,就在你的班级中创建该数字的最终整数。使用常规getText()
方法读入字符串,并根据该数字将其分解为多个部分。如需解决方法,请参阅here。
从那里,随意将\n
附加到每一行。
我知道这将是一个混乱的解决方案,它会删除动态更改JTextArea宽度的能力,但我相信如果实施得当它会起作用。如果您有任何问题,请告诉我。
希望这有帮助!
更新:如果WrapStyleWord
设置为true
,这实际上可能无效。尽管使用了这种方法的主要思想,你仍然可以弄明白。每行的字符数不会改变,但是如果你在一个单词的中间,你必须在你休息之前跳回到它的开头。