我们可以在javafx中的多个类之间创建回调吗

时间:2018-09-17 09:24:54

标签: java javafx callback

我的意思是,

如果class A需要来自另一个class B的数据,并且该数据是从class B提供给class C的,则

然后,class B将数据提供给class A(将来自class C的数据与它自己的一些数据相结合)。

现在,class B仅能从class A接收数据到class C

以一个示例为例,class A启动一个在class B中定义的弹出窗口,现在class B具有listview,数据在{ {1}}在C中。现在,如果用户单击listview中的listitem,它将关闭弹出窗口并将listview上的值发送到listview。 / p>

我是Java的新手,所以有人请在这里告诉我接口和回调的主要用法。 预先感谢。

1 个答案:

答案 0 :(得分:1)

为此,您要使用称为侦听器或观察者的模式。 https://en.wikipedia.org/wiki/Observer_pattern

一般概念:一个侦听器(或多个侦听器)由所观察的类调用,并提供有更改的数据。然后,侦听器可以对数据进行处理。

在您的情况下:BC的侦听器,而AB的侦听器。当C有一些新数据时,它会通知BB然后合并数据并通知A。通知A后,整个链返回到C

您需要了解的一些小警告:如果您在其中一个侦听器中执行了某些阻止操作(例如从filesyste / database / webservice中读取),则会阻止观察到的类。

编辑:侦听器概念的一个很好的例子是java swing中的ActionListeners(https://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html)。