java - Controlsfx Popover 未在正确位置显示
问题描述
我正在使用 java & javafx (UI Library) 设计一个桌面应用程序。当用户在应用程序中单击他的图像时,将在相对于其父级的弹出框(来自controlsfx库的类)中向他显示选项列表,但问题是当用户第一次单击时,它会显示错误放置并在第二次单击后转到应显示的原始位置。有人可以指出问题所在。
代码:
public class PrimaryWindowController implements Initializable {
@FXML private Circle userIcon;
private AnchorPane userAccountPopup;
public void showUserAccountPopOver(MouseEvent mouseEvent) {
if (mouseEvent.getEventType().equals(MouseEvent.MOUSE_CLICKED)) {
if (!popOver.isShowing()) {
popOver.setAutoFix(false);
popOver.setArrowLocation(PopOver.ArrowLocation.TOP_RIGHT);
popOver.setArrowSize(0);
popOver.show(userIcon);
popOver.cornerRadiusProperty().setValue(0);
} else {
popOver.hide();
}
}
}
}
应用图片:
解决方案
推荐阅读
- scala - 将 AWS S3 对象转换为 ByteString 问题
- bash - 如何通过 find、exec 和 sed 在行前添加变量?
- c# - 如何在按钮 WPF 上使用 PI 图标
- ios - UITableView 滚动与内容触摸
- jquery - jQuery,隐藏一个前元素
- node.js - 传递给 findOne 的参数必须是选项对象,如果您希望传递单个主键值,请使用 findById 我在 Sequelize 中已完成此操作
- python - python为每一行添加数字
- actions-on-google - 如何在对话流和谷歌操作上实际设置 final_response
- java - java机器人按键不起作用
- php - 数据库中的多个长度值,查询 SQL 以获得最可能的匹配