我有一个函数,它是一个空函数。调用时,它会在屏幕上显示System.out.print
结果。
有没有办法使用System.out.print
的结果并将其放在JTextField上?
例如:
function.getList();
包含所有代码和系统输出结果的函数
这导致:
"一些文字"
然后,我想使用这样的东西:
textField = new JTextField();
textField.setText(function.getList());
编辑:由于没有合理的方法来获取System.out.print
输出的值,因此我更改了function.getList()
方法以返回字符串数组列表。
假设function.getList()
返回String
使用JTextField.setText()
并重新验证组件:
textField.setText(function.getList());
textField.revalidate();
无需创建新JTextField
,只需在现有上设置文本即可。
您可以通过使用自己的PrintWriter
StringWriter
支持来调用System.setOut()
来重定向System.out
,但请不要这样做,这是一个黑客。
我建议更改函数以返回字符串而不是让它无效,然后textField.setText(function.getList());
应该可以工作。
如果要将文本打印保留到控制台,则可以将System.out.print()
打印的内容放在 String 变量中,并将该 String 变量传递给它。