如何在void函数中获取System.out.print的值并在另一个函数中使用它?

时间:2019-01-07 18:12:13

标签: java swing

我有一个无效的函数。 调用时,它会在屏幕上显示System.out.print的结果。

是否可以使用System.out.print的结果并将其放在JTextField上?

例如:

function.getList();函数,其中包含所有代码和Sysout结果

结果为:

“某些文本”

然后,我想使用这样的东西:

textField = new JTextField();

textField.setText(function.getList());

编辑:由于没有合理的方法来获取System.out.print输出的值,因此我更改了function.getList()方法以返回字符串的ArrayList。

2 个答案:

答案 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变量传递给它。