在JavaFX和@FXML访问修饰符

arthionne:

我是新来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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章