我是javafx上的新手。我想在右鍵單擊上顯示彈出式菜單。我找到一個教程Here和Here,但不明白。我想創建彈出式菜單,在這個鏈接上顯示圖像。如何創建彈出菜單
現在我正在創造舞臺,但我不想要舞臺。我需要顯示右鍵單擊時顯示的彈出菜單,當我點擊任何地方時關閉。
這是我在其中使用舞臺的代碼,但我需要打開像上面的鏈接彈出菜單。
public void MouseClickedOnTree(MouseEvent event) {
if (event.isSecondaryButtonDown()) {
System.out.println("secondary press");
final Stage optionstage = new Stage();
VBox vBox = new VBox(5);
vBox.setMinHeight(50);
vBox.setMinWidth(50);
Button btnNewTestBed = new Button("New Testbed");
btnNewTestBed.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
try {
optionstage.close();
stage.show();
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
}
});
Button btnOpenTestbed = new Button("Open Testbed");
btnOpenTestbed.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
optionstage.close();
}
});
optionstage.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent t) {
if (t.getCode() == KeyCode.ESCAPE) {
System.out.println("click on escape");
//Stage sb = (Stage) label.getScene().getWindow();//use any one object
if(optionstage.isShowing())
optionstage.close();
}
}
});
vBox.getChildren().addAll(btnNewTestBed, btnOpenTestbed);
optionstage.setScene(new Scene(vBox, 100, 100));
//stage.setScene(new Scene(new Group(new Text(50,50, "my second window"))));
optionstage.setX(event.getSceneX());
optionstage.setY(event.getScreenY());
optionstage.initStyle(StageStyle.UNDECORATED);
optionstage.show();
}
請給我提供任何鏈接或參考。
但我想在treeview中顯示它。我想顯示樹形視圖彈出時,我右鍵點擊treeview –
我使用此代碼,但彈出不顯示'contextMenu.show(soariteTree,事件。getScreenX(),event.getScreenY());' –
對不起..它現在工作....我把事件的外部聲明代碼然後它的工作...謝謝.. –