KeyFressed事件未在JavaFX8中的列表视图单元格上触发

时间:2015-08-18 06:27:58

标签: java listview javafx-8 keypress

我有一个包含以下单元格工厂的列表视图:

availableSymbolsTable.setCellFactory(lv -> {
            ListCell<Symbol> cell = new ListCell<Symbol>() {
                @Override
                protected void updateItem(Symbol t, boolean empty) {
                    super.updateItem(t, empty);
                    if (empty) {
                        setText(null);
                    } else {
                        setText(t.getSymbolName());
                    }
                }
            };

           cell.setOnKeyPressed(e -> 
              {
                  //This never fires
              }
          );

            cell.setOnMouseEntered(e -> {
             //This works
            });

            cell.setOnMouseClicked(e -> {
                if (cell.getItem() != null) {
                    if(e.getClickCount() == 2)
                    {
                    //This works
                    }
                }
            });
            return cell ;
        } );

我以相同的方式添加了3个事件句柄。 OnMouseEntered和OnMouseClicked都按预期工作。但是,永远不会执行OnKeyPressed。 OnKeyReleased也是如此。按箭头键时,列表视图会按预期更改所选行,但我的事件处理程序代码永远不会执行。什么似乎是问题?

0 个答案:

没有答案