Я пробую свой путь через JavaFX и все еще имею много - возможно, глупых - начинающих вопросов.JavaFx добавить контекстное меню от контроллера
Моя проблема дня заключается в следующем:
Я создаю в строитель сцены и контроллер, FlowPane, к которому я хочу, чтобы добавить правой кнопкой мыши вариант, который открывает контекстное меню.
Через строитель сцены я добавил функцию OnContextMenuRequested и определил ее в контроллере.
Чтобы проверить, я добавил функцию печати и диалоговое окно к функции, которая работает хорошо.
Тем не менее, контекстное меню не работает ..
Любой может помочь и сказать мне, что мне не хватает ???
Заранее спасибо ...
public void contextMenu(ContextMenuEvent contextMenuEvent) {
// working fine ..
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Information");
alert.setHeaderText("Look");
alert.setContentText("Message");
alert.showAndWait();
// working fine
System.out.println("Hello");
// Context Menu ......... not working
ContextMenu contextMenu = new ContextMenu();
MenuItem quit = new MenuItem("quit");
MenuItem hello = new MenuItem("hello");
contextMenu.getItems().addAll(quit, hello);
contextMenu.setX(10.0);
contextMenu.setY(10.0);
contextMenu.show();
????.setContextMenu(????)
}
Что такое ' contextMenu.show() '? Для [ContextMenu] нет такого безпараметрического метода public show() (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ContextMenu.html). Попробуйте использовать один из [параметризованных методов для отображения меню] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ContextMenu.html#show-javafx.scene.Node- javafx.geometry.Side-двойной двойной). Если у вас по-прежнему возникают проблемы, укажите [mcve] (http://stackoverflow.com/help/mcve), который является полным, компилирует, запускает, реплицирует проблему и минимален. – jewelsea
true ... подумал, что стоит попробовать, но это не сработало ... знаете ли вы о каком-либо другом методе? – rainer
Прочитайте документацию, связанную с ней, она содержит пример кода для отображения ContextMenu. – jewelsea