code sample in javadoc refers to renamed PopupMenu and use old signature of setOnShowing(Runnable run)
See:
final PopupMenu popupMenu = new PopupMenu();
popupMenu.setOnShowing(new Runnable() {
public void run() {
System.out.println("showing");
}
});
popupMenu.setOnShown(new Runnable() {
public void run() {
System.out.println("shown");
}
});
MenuItem item1 = new MenuItem("About");
item1.setOnAction(new EventHandler() {
public void handle(ActionEvent e) {
System.out.println("About");
}
});
MenuItem item2 = new MenuItem("Preferences");
item2.setOnAction(new EventHandler() {
public void handle(ActionEvent e) {
System.out.println("Preferences");
}
});
popupMenu.getItems().addAll(item1, item2);
}
final Button button = new Button("Click me");
button.setOnAction(new EventHandler() {
public void handle(ActionEvent e) {
popupMenu.show(button, HPos.CENTER, VPos.BOTTOM, 0, 0);
}
});
Group root = (Group) scene.getRoot();
root.getChildren().add(button);
See:
final PopupMenu popupMenu = new PopupMenu();
popupMenu.setOnShowing(new Runnable() {
public void run() {
System.out.println("showing");
}
});
popupMenu.setOnShown(new Runnable() {
public void run() {
System.out.println("shown");
}
});
MenuItem item1 = new MenuItem("About");
item1.setOnAction(new EventHandler() {
public void handle(ActionEvent e) {
System.out.println("About");
}
});
MenuItem item2 = new MenuItem("Preferences");
item2.setOnAction(new EventHandler() {
public void handle(ActionEvent e) {
System.out.println("Preferences");
}
});
popupMenu.getItems().addAll(item1, item2);
}
final Button button = new Button("Click me");
button.setOnAction(new EventHandler() {
public void handle(ActionEvent e) {
popupMenu.show(button, HPos.CENTER, VPos.BOTTOM, 0, 0);
}
});
Group root = (Group) scene.getRoot();
root.getChildren().add(button);