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