Listview 我无法在javaFX中覆盖cellFactory的updateItem方法

Listview 我无法在javaFX中覆盖cellFactory的updateItem方法,listview,javafx,Listview,Javafx,IntelliJ不允许我重写updateItem()方法,它在这里显示了一个错误,说删除引用,有人知道哪里出了问题吗??请帮忙 public class Controller implements Initializable { public javafx.scene.control.ListView ListView; ObservableList list; @Override public void initialize(URL url, Resourc

IntelliJ不允许我重写
updateItem()
方法,它在这里显示了一个错误,说删除引用,有人知道哪里出了问题吗??请帮忙

public class Controller implements Initializable {

    public javafx.scene.control.ListView ListView;
    ObservableList list;

    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {
      list = FXCollections.observableArrayList("Apple","Banana","pear");
      ListView.setItems(list);
      ListView.setCellFactory(param -> {
                ListCell<String> cell = new ListCell<String>();

                @Override
                protected void updateItem(String string, boolean empty);
}

公共类控制器实现可初始化{
公共javafx.scene.control.ListView ListView;
可观察列表;
@凌驾
公共void初始化(URL、ResourceBundle、ResourceBundle){
list=FXCollections.observearraylist(“苹果”、“香蕉”、“梨”);
setItems(列表);
ListView.setCellFactory(参数->{
ListCell=新ListCell();
@凌驾
受保护的void updateItem(字符串,布尔值为空);
}

自定义
CellFactory的正确语法如下所示:

bookListView.setCellFactory(cell -> new ListCell<YOUR_OBJECT_TYPE>() {
    @Override
    protected void updateItem(YOUR_OBJECT_TYPE item, boolean empty) {
        super.updateItem(item, empty);

        // Your update code goes here.

    }
});
bookListView.setCellFactory(单元格->新建列表单元格(){
@凌驾
受保护的void updateItem(您的\u对象\u类型项,布尔值为空){
super.updateItem(项,空);
//你的更新代码在这里。
}
});

你可以在这里了解更多关于如何以及为什么这样做的信息:

错误的语法..阅读如何实现匿名子类。提示:
新建ListCell
后没有分号,但是开始括号..我仍然没有得到它,我从internet获得了这段代码,但仍然无法超越方法您必须对该类进行子类化才能获得成功创建所述类的方法。您可以“内联”完成此操作(即创建匿名类)-看,我是java新手,你能帮我学习与官方教程相关的syntaxI吗?这里有另一个教程:@kleopatra但为了回答你的问题,我从这样的答案中学到了很多。不是每个问题都需要一篇5页的文章来学习和理解编码概念。不,但每个问题都需要至少深入研究一个问题教科书/教程,至少是c&p的代码。这就是你为OP所做的,她今天学到的东西不多。嗯,我知道我们在这个问题上倾向于不一致;)