Как добавить прослушиватель событий, чтобы определить, когда пользовательский GridCell в GridView выбран (нажат) в JavaFX?Я использую библиотеку ControlsFX - PullRequest
0 голосов
/ 19 января 2019

У меня есть GridView, отображающий пользовательский GridCell, который я создал с помощью FXML.Я хочу, чтобы эти GridCells можно было выбирать, и мне нужно слушать изменения выбора.

До сих пор я пробовал решения, представленные здесь Как реализовать выбор узлов в JavaFX без везения

  //Here is the code of My Custom GridCell
  public class IconGridCell extends GridCell<IconItem> implements SelectableGridCell{
     @FXML
     public AnchorPane gridCell;
     @FXML
     public FontIcon fontIcon;
     private FXMLLoader mLLoader;

    @Override
    protected void updateItem(IconItem iconItem, boolean empty) {
      super.updateItem(iconItem, empty);
         if (empty || iconItem == null) {
            setText(null);
            setGraphic(null);
         } else {
              if (mLLoader == null) {
                  mLLoader = new FXMLLoader(getClass().getResource("/cell.fxml"));
                  mLLoader.setController(this);
           try {
              mLLoader.load();
           } catch (IOException e) {
               e.printStackTrace();
           }
        }
        fontIcon.setIconLiteral(iconItem.getIcon().getIconLiteral());
        setText(null);
        setGraphic(gridCell);
    }
  }

Я хочу иметь возможность прослушивать изменения выбора, чтобы я мог соответствующим образом обновить пользовательский интерфейс

...