JavaFX:PopOver的鼠标悬停事件(ControlsFX)

JavaFX:PopOver的鼠标悬停事件(ControlsFX),javafx,mouseevent,popover,controlsfx,Javafx,Mouseevent,Popover,Controlsfx,我有下面的代码来显示一个PopOver @Override public void start(Stage primaryStage) { try { Label lblName = new Label("Tetsing name"); Label lblStreet = new Label("Some street name"); Label lblCityStateZip = new Label("Some city, 111111"

我有下面的代码来显示一个PopOver

@Override
public void start(Stage primaryStage) {
    try {

        Label lblName = new Label("Tetsing name");
        Label lblStreet = new Label("Some street name");
        Label lblCityStateZip = new Label("Some city, 111111");
        VBox vBox = new VBox(lblName, lblStreet, lblCityStateZip);

        PopOver popOver = new PopOver(vBox);

        Label label = new Label("Mouse mouse over me");

        label.setOnMouseEntered(mouseEvent -> {
            popOver.show(label, -3);
        });

        label.setOnMouseExited(mouseEvent -> {
            if (popOver.isShowing()) {
                popOver.hide();
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(label);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.setOnCloseRequest((WindowEvent event) -> {
            System.exit(0);
        });
        primaryStage.show();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
}
问题是,

  • 我想弹出显示时,鼠标进入标签-工程罚款

  • 我希望在用户从标签中退出鼠标时隐藏弹出窗口,但在用户将鼠标输入弹出窗口时不隐藏弹出窗口


  • 我已经在标签上添加了MouseEntered和MouseExited操作,但如何处理另一种情况,即如果用户将鼠标输入弹出窗口,我不想隐藏弹出窗口。

    解决方法之一是删除
    setOnMouseExited
    事件处理程序并执行
    popOver.setCloseButtonEnabled(true);popOver.SetHeaderWaysVisible(真)。这是否回答了您的问题?你创建了一个新帐户吗?@Sedrick如果没有,他们几乎一字不差地复制了另一个问题…@Sedrick感谢你的一些解决方法,但它并没有解决我的问题。我需要鼠标移到这个标签上。问题是,当输入popOver时,我会离开标签(MouseExited),这就是它关闭popOver的原因。