gpt4 book ai didi

java - Pro JavaFX 2.0 "cowbell"示例

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:42 25 4
gpt4 key购买 nike

在Pro JavaFX 2.0一书中的“cowbell”示例中,单选模型声明如下:

public SingleSelectionModel genreSelectionModel;

然后稍后在没有构造函数的情况下使用该实例。

public void addListenerToGenreSelectionModel {
genreSelectionModel.selectedIndexProperty().addListener(...); };

我的问题是 SingleSelectionModelnew 在哪里?在我看来,变量只是被声明了,但对象并没有被创建,就像示例前面的 IntegerProperties 一样。

最佳答案

genreSelectionModel 变量不是由另一个函数调用初始化的吗?

喜欢:

    genreSelectionModel = listView.getSelectionModel()

编辑:快速浏览一下在线提供的示例:google books (第26-29页)看来您所指的是类中字段的声明。这不必在类内初始化。您可以将其视为类属性,一旦声明了自定义类型的对象(包含未初始化的变量),您就可以稍后在程序中为其赋予值

现在,不要误会我的意思,如果您尝试在没有初始化的情况下访问此属性,它将返回空指针异常。但正如书中所做的那样,您可以创建一个对象,然后使用另一个函数返回的值初始化该变量。

    AudioConfigModel acModel = new AudioConfigModel();

acModel.genreSelectionModel = genreChoiceBox.getSelectionModel();
acModel.genreSelectionModel.selectFirst();

在第一行,genreSelectionModel 属性为 null。第二行有一个空行以方便查看第三个,你将一个对genreChoiceBox自己的selectionModel的“引用”放入你的属性中。然后在第四个你调用新实例化的属性上的函数

关于java - Pro JavaFX 2.0 "cowbell"示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17917556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com