我是新来JavaFX和在我已经看到了一些教程,有一定的差异。在教程之一,他总是用private
作为控制器类的访问修饰符和写的是这样的:
@FXML private Button button;
但是其他的教程一向都采用公共和没有包括在控制类@FXML。这两个看起来做工精细,但它们之间有一个实际的区别,我应该知道吗?
从介绍FXML:
@FXML
需要注意的是,在前面的例子中,控制器成员字段和事件处理方法被声明为public,使他们能够进行设置或加载程序调用。在实践中,这通常不是一个问题,因为控制器通常只对创建它的FXML装载机可见。然而,对于谁更喜欢控制器领域或处理方法更受限制的知名度开发商来说,
javafx.fxml.FXML
可以使用注解。此注释标记的保护或私有类成员的访问FXML。如果被注释的类是一个命名模块中,含有类模块必须open
含包到至少所述javafx.fxml
模块。
换句话说,该@FXML
注释只需要如果该字段或方法非公开(即受保护,包私人或私营),但需求是FXML访问。内FXML的上下文中,存在与没有(或甚至用)一个公共字段/方法之间没有差别@FXML
注释和非公共字段/方法与所述注解。通常,唯一的区别是所述场强/方法对其他代码的可见性。
这就是说,它通常被认为是很好的做法,只能使事情为可见,因为它必须这样做。一个FXML注入字段,通常没有理由要公开而且也没有一个事件处理方法 - 它们的实现细节。
请注意@FXML
标注没有做什么特别的语言水平。注释的存在简单地告诉FXMLLoader
它的好,试图反思访问字段或方法,即使它不是公共的。这也是一个很好的提示,以该字段或方法由FXML处理的开发者(例如,FXML注入字段应中几乎从不手动初始化或重新分配)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句