我有一个包含名为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)会删除我的新行文本吗?而且,如何解决这个问题?
提前致谢。
答案 0 :(得分:2)
将responseField变量设置为JTextArea而不是JTextField:根据定义,JTextField只包含一行。