我想创建一个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.");
答案 0 :(得分:4)
你不能使用JTextField多行,你可以使用JTextArea来实现这个目的,代码也不会有太大的不同,你仍然可以使用相同的代码,或者只能
TF_BetInfo.append("\nyou have ...... ");
其中TF_Betinfo是JTextArea而不是JTextField。
答案 1 :(得分:2)
您无法使用JTextField
。 JTextField
是单行编辑控件。这就是为什么你把所有输出都放在一行。
如果您想在编辑中使用JTextArea
打印多行。在您的情况下,您可以使用jTextArea.append(string)
(注意:jTextArea
是类JTextArea
的对象,string
是类String
的对象。)
答案 2 :(得分:0)
您实际上无法在JTextField 中使用多行,但您可以做的是使用所需大小的 JTextArea ,然后使用以下内容:
yourJTextArea.setLineWrap(true);
当JTextArea需要使用另一行并添加它时,会自动检测,非常酷,非常有用,你只需要一个代码行就可以了。
JTextArea更灵活,但如果您真的想要灵活性阅读 JTextPane 或 JEditorPane ,您可以显示URL,网页以及您想到的所有内容。