如何在JTextField中创建一个新行来输入?

时间:2014-12-30 01:47:31

标签: java swing jtextfield multiline

我想创建一个Swing程序,用于编写已完成内容的更新。它将所有信息写入不可编辑的JTextField

例如:

You have changed the text to BLUE.
You have changed the text to RED.

问题在于我无法将两条线分开。

我得到的是:

You have changed the text to BLUE. You have changed the text to RED.

我试过的是:(这不起作用)

TF_BetInfo.setText(TF_BetInfo.getText() + "\nYou have changed the text to BLUE.");
TF_BetInfo.setText(TF_BetInfo.getText() + "\nYou have changed the text to RED.");

3 个答案:

答案 0 :(得分:4)

你不能使用JTextField多行,你可以使用JTextArea来实现这个目的,代码也不会有太大的不同,你仍然可以使用相同的代码,或者只能

TF_BetInfo.append("\nyou have ...... ");

其中TF_Betinfo是JTextArea而不是JTextField。

答案 1 :(得分:2)

您无法使用JTextFieldJTextField是单行编辑控件。这就是为什么你把所有输出都放在一行。

如果您想在编辑中使用JTextArea打印多行。在您的情况下,您可以使用jTextArea.append(string)(注意:jTextArea是类JTextArea的对象,string是类String的对象。)

答案 2 :(得分:0)

实际上无法在JTextField 中使用多行,但您可以做的是使用所需大小的 JTextArea ,然后使用以下内容:

yourJTextArea.setLineWrap(true);

当JTextArea需要使用另一行并添加它时,会自动检测,非常酷,非常有用,你只需要一个代码行就可以了。

JTextArea更灵活,但如果您真的想要灵活性阅读 JTextPane JEditorPane ,您可以显示URL,网页以及您想到的所有内容。