我最近开始探索 Java FX 并想创建一个自定义标签,其中将包含一个 ImageView。
这是我的自定义标签的代码。
Image image = new Image(getClass().getResourceAsStream("/img/remove.png"), 20, 20, true, true);
ImageView removeImageView = new ImageView(image);
Label customLabel = new Label(labelText, removeImageView);
customLabel.setFont(Font.font("Arial", FontWeight.BOLD, 20));
这就是我的自定义标签的外观。
现在我想在 ImageView 中添加一个鼠标点击 EventHandler。这是我处理鼠标点击的代码。
removeImageView.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("Imageview Clicked");
}
});
但是当我点击cross图像时,事件没有被捕获。
我进行了一些试验并尝试将 EventHandler 添加到customLabel. 标签能够捕获鼠标点击。
在我看来,我面临这个问题是因为 ImageView 包含在标签中。我想知道的是,这是对 JFX 的限制,还是有其他方法可以实现此功能。谢谢。
牛魔王的故事
阿晨1998
相关分类