我有一个简单的TabUtil-Class,它为Tab
创建了一个标题为ImageView
的标记。
public static Tab createIconTab(ImageView icon) {
Tab tab = new Tab();
tab.setGraphic(icon);
System.out.println("create tab: +");
icon.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("CLICKED");
}
});
return tab;
}
使用其他三个选项卡,它会生成以下UI。如果我点击带有“+”的标签 - 图标没有任何反应。 CLICKED没有打印出来......我也尝试在图形组件上设置EventHandler。没有任何反应......但为什么呢?
答案 0 :(得分:3)
我遇到了类似的问题并通过首先将ImageView放入Label中来解决它,如下所示:
public static Tab createIconTab(ImageView icon)
{
Label iconLabel = new Label();
iconLabel.setGraphic( icon );
iconLabel.setContentDisplay( ContentDisplay.GRAPHIC_ONLY );
iconLabel.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("CLICKED");
}
});
Tab tab = new Tab();
tab.setGraphic( iconLabel );
return tab;
}