我是Java和Java FX的新手,我在上下文菜单点击中创建弹出窗口时遇到了很多困难。我的要求是
就像我们右键点击netbeans并看到新按钮一样。有人请帮忙。
非常感谢你!
答案 0 :(得分:1)
public class MyPopUp extends Stage {
public MyPopUp () {
super();
this.setTitle("Pop");
this.setResizable(false);
// The important part
this.initModality(Modality.APPLICATION_MODAL);
BorderPane borderPaneOptionPane = new BorderPane();
borderPaneOptionPane.setCenter(new TextArea()); // For example
Button closeButton = new Button("Close");
closeButton.setOnAction(event -> {
this.hide();
});
borderPaneOptionPane.setPadding(new Insets(5));
Scene s = new Scene(borderPaneOptionPane);
this.setScene(s);
}}
然后只需使用.show方法将其设置为可见。
希望我能帮助你。
问候Kaito
答案 1 :(得分:0)
Kaitos MyPopUp的实施,对初学者来说可能有点帮助。
MyPopUp popUp = new MyPopUp();
ContextMenu contextMenu = new ContextMenu();
MenuItem newItem = new MenuItem("Call PopUp");
newItem.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
popUp.show();
}
});
contextMenu.getItems().addAll(newItem);
要向TableView添加上下文菜单,您可以执行以下操作:
tableView.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override public void handle(MouseEvent e) {
if (e.getButton() == MouseButton.SECONDARY)
contextMenu.show(tableView, e.getScreenX(), e.getScreenY());
}
});