我有一个包含名为responseList的字符串的ArrayList:
ArrayList<String> responseList;
我还有一个名为 responseField 的 JTextField:
JTextField responseField;
ArrayList 填充有不同行的明文字符串。例如,responseList.get(0) 将包含以下内容:
cat mouse hello world
dog kitten puppy potatoes
carrot beef kryptonite
足够简单。然而,这正是出现差异的地方。当我这样做时:
System.out.println(responseList.get(0));
正如预期的那样,我得到了:
cat mouse hello world
dog kitten puppy potatoes
carrot beef kryptonite
奇怪的是,当我这样做时:
responseField.setText(responseList.get(0));
我的 Swing GUI 中的 responseField 元素将其显示为:
cat mouse hello worlddog kitten puppy potatoescarrot beef kryptonite
似乎没有读入新行字符。JTextField 对原始文本的解释与 Eclipse 的控制台输出不同。
我能得到一些解释为什么 JTextField 的 setText(String) 会删除我的文本中的新行吗?此外,如何解决这个问题?
提前致谢。
最佳答案
将responseField 变量设置为JTextArea 而不是JTextField:根据定义,JTextField 仅包含一行。
关于java - 填充 JTextField 时丢失 "next line"格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23223579/