1
Я пытаюсь показать контекстное меню, которое я создал, когда я нажимаю правой кнопкой мыши на панели или в виде изображения ((в запрошенном запрошенном контекстном меню)). Проблема в том, что у них нет метода setContextMenue, в отличие от меток и кнопок ... и т. Д. Как связать контекстное меню с узлом, который, кажется, не принимает контекстные меню?Как показать контекстное меню при щелчке правой кнопкой мыши на панели или в ImageView в javaFX
@FXML
Button button1, button2;
@FXML
Pane mainPane;
@FXML
ImageView image;
private void initContextMenu() {
final ContextMenu contextMenu = new ContextMenu();
final MenuItem item1 = new MenuItem("open a file");
final MenuItem item2 = new MenuItem("quit");
contextMenu.getItems().addAll(item1, item2);
// not possible
image.setContextMenu(contextMenu);
// possible
button1.setContextMenu(contextMenu)
Я пытался. -> contextMenu.show (imgWidnow.getScene() GetWindow() и он функционирует должным образом, но теперь положение в меню для фиксирована в середине .. окно –
я на самом деле решил ее, как это спасибо, хотя imgWidnow.setOnContextMenuRequested (событие -> { contextMenu.setY (event.getScreenY()); contextMenu.setX (event.getScreenX()); contextMenu.show (imgWidnow.getScene(). getWindow()); }); –
@RafatRefai Никогда не видел этого поведения раньше. Метод 'show (Node, double, double)' всегда работал для меня. Какую версию ОС/JDK вы используете? (Чтобы закрыть его, потеряйте фокус, попробуйте 'contextMenu.setAutoHide (true);'.) –