填充JTextField时丢失“下一行”格式

时间:2014-04-22 15:17:47

标签: java swing user-interface format

我有一个包含名为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)会删除我的新行文本吗?而且,如何解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:2)

将responseField变量设置为JTextArea而不是JTextField:根据定义,JTextField只包含一行。