标签:事件 ted 解决方案 透明 span 蓝色 imageview nbsp view
JavaFX ImageView 中存储一个带有透明区域的图片时,当鼠标位于透明区域上方时,点击或拖拽并不会触发鼠标事件。
例如我有一个这样的图标,通过代码添加到 ImageView 中,并注册点击事件。
TreeItem treeItem = new TreeItem(); ImageView imageView = new ImageView(new Image("/lin.png")); treeItem.setGraphic(imageView);
imageView.setOnMouseClicked(e -> {
Node node = e.getPickResult().getIntersectedNode();
});
当鼠标在图片中的蓝色区域点击时会触发事件,但在图片的外包矩形中,蓝色区域外的透明部分点击,就不会触发。
正确的解决方案是:ImageView 设置 setPickOnBounds 为 true。
imgeView.setPickOnBounds(true);
标签:事件 ted 解决方案 透明 span 蓝色 imageview nbsp view
原文地址:https://www.cnblogs.com/chenxinyuan/p/12096457.html