Tab图形中的ImageView

时间:2014-01-21 15:54:17

标签: javafx

我有一个简单的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。没有任何反应......但为什么呢?

Tabs Screenshot

1 个答案:

答案 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;
}