2012-09-04 26 views
1

我有以下代碼:將監聽器添加到使用TabPaneBuilder創建的TabPane中?

TabPaneBuilder.create() 
    .tabs(
     TabBuilder.create() 
      .text("Main") 
      .closable(false) 
      .build(), 
     TabBuilder.create() 
      .text("Preview") 
      .content(createPreviewSplitMenu()) 
      .closable(false) 
      .build() 
     ) 
    .build() 

是否可以在這裏添加一個偵聽器,以便選擇標籤「預覽」什麼時間完成?如果是這樣,我似乎無法找到它,我已經看了API。

我不是問如何在一般情況下使用TabPaneBuilder。

謝謝。

編輯:也想最簡單的常規方法來做到這一點,如果我問的是不可能的。

編輯2:我想要做的是在選擇「預覽」選項卡時重新繪製內容。

回答

1

您需要將監聽器添加到TabBuilder!

(需要首先給它一個名字,這樣你就可以在以後引用它:)

TabPaneBuilder.create() 
.tabs(
    TabBuilder.create() 
     .text("Main") 
     .closable(false) 
     .build(), 

//New code coming through 

    previewTab = TabBuilder.create() 
     .text("Preview") 
     .content(createPreviewSplitMenu()) 
     .closable(false) 

     .onSelectionChanged(new EventHandler<Event>() { 
     public void handle(Event evt) { 
      if (previewTab.isSelected()) { 
      //code to update the tab 
      } 
     } 
     }) 

     .build() 
    ) 
.build()