Как добавить контекстное меню на неиспользуемый заголовок столбца в TableView - PullRequest
3 голосов
/ 08 января 2020

Я хотел бы добавить контекстное меню правой кнопкой мыши для TableView на неиспользуемое пространство столбца. Есть ли способ сделать это? Это пространство между последним использованным столбцом и концом таблицы.

enter image description here

1 Ответ

4 голосов
/ 09 января 2020

Пустая область заголовка TableView называется filler. CSS селектор:

.table-view > .column-header-background > .filler

Вы можете добавить ContextMenu к этому региону следующим образом:

ContextMenu fillerContextMenu = new ContextMenu(new MenuItem("Do in filler"));
Region filler = (Region) tableView.lookup(".filler");
filler.setOnContextMenuRequested(event -> {
    fillerContextMenu.show(filler, event.getScreenX(), event.getScreenY());
    event.consume();
});

Примечание: Для lookup(String selector) чтобы вернуть действительный узел не ноль, этот метод должен быть вызван после того, как отображается TableView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...