У меня есть ситуация, когда контекстное меню потенциально может содержать сотни элементов меню, добавленных к нему. По умолчанию в контекстном меню будут отображаться кнопки прокрутки в верхней/нижней части всплывающего окна, но он занимает полную высоту экрана. Я попытался установить значения maxHeight и prefHeight, но это не повлияло.Как создать прокручиваемое контекстное меню в JavaFX?
В идеале я хотел бы показывать полосу прокрутки вместо кнопок прокрутки вверху и внизу (т.е. положить ее в панель прокрутки).
Вот фрагмент кода, который я в настоящее время имею:
ContextMenu menu = new ContextMenu();
menu.setMaxHeight(500);
menu.setPrefHeight(500);
for(TabFX<T> tab : overflowTabs) {
MenuItem item = new MenuItem(tab.getTabName());
if (tab.getGraphic() != null) item.setGraphic(tab.getGraphic());
item.setOnAction(e -> {
select(tab);
layoutTabs();
});
menu.getItems().add(item);
}
Point2D p = overflowBtn.localToScreen(0, overflowBtn.getHeight());
menu.show(overflowBtn, p.getX(), p.getY());
Есть обходной путь для этого?