У меня есть следующий код для отображения 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 в Label, но как мне справиться с другим сценарием, в котором я не хочу скрывать всплывающее окно, если пользователь вводит мышь во всплывающее окно.