2014-01-21 2 views
1

나는 간단한을 작성하여 간단한 제목으로 ImageView이라는 제목을 만듭니다.TabView의 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

답변

3

나는 비슷한 문제를 했어과 같이, 먼저 레이블에 이미지 뷰를 넣어 그것을 해결 :

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