JavaFX从Controller外的另一个类打印到GUI TextArea

时间:2017-10-21 17:06:56

标签: java javafx

如何从-keep class com.orhanobut.hawk {public *;} -keep class com.orhanobut.hawk.* {public *;} 类外部打印到GUI TextArea

我有来自另一个名为Controller的课程的method

Alarm

我希望public boolean maggotAttack(int nothealthy) { int maggot = (int) (Math.random() * 2); if (maggot == 1) { System.out.println("A maggot is destroying the plant, heal the plant!"); return true; } else if (maggot == 0) { return false; } return false; } 能够将GUI打印到GUI而不是控制台。我不想创建print的实例,然后使用上面Controller中的TextArea,因为据我所知,这是针对优秀软件层的。

3 个答案:

答案 0 :(得分:0)

我认为你应该详细研究MVC pattern。如果您使用这种做法,正如我建议的那样,那么您将拥有一个控制器类,其中包含对某种视图的引用。然后,您可以以某种方式将该视图传递到代码中(例如,设置器,作为参数等),然后使用该视图显示您需要的内容。

答案 1 :(得分:0)

JTextAreaOutputStream out = new JTextAreaOutputStream (textArea);
System.setOut (new PrintStream (out));

使用TextArea创建JTextAreaOutputStream并重定向打印流。然后你总是可以使用System.out.println();

答案 2 :(得分:0)

我在另一个问题中用另一个问题解决了问题。问题是,我只需要设置我想要访问我的控制器的类,作为控制器。所以答案是,将你的班级称为控制器,更好地显示在这里: JavaFXML reference to Controller from all classes