2014-12-06 92 views
1

我得到了一個非常奇怪的問題,TabPane的左邊有它的標籤按鈕。該問題僅在應用程序運行時出現,但不在SceneBuilder(2.0)預覽中。JavaFX 8 TabPane - Tab鍵不斷滾動出TabPane標題的視口

每次所選Tab變化(或者通過用戶點擊或通過經由代碼改變selectedIndex)突片向上移動並離開標籤按鈕區域的視口的他們的位置,你可以在下面的實施例一圖中看到。移動的像素數量似乎取決於寬度TabPane(寬度越低,移動越多),並且大部分時間我的TabPane中的按鈕都完全移出視口。

通過聚焦不同的窗口或向上或向下滾動標籤按鈕區域,可以使標籤按鈕返回其正常位置。一旦他們回到正常位置,他們只會在所選標籤再次改變時再次移動。

我試圖訪問TabHeaderSkin對象(樣式類「選項卡」),這些對象似乎是TabPane標頭區域中由於移位而發生更改的唯一運行時對象。根據風景景觀,他們的localY價值變化。但是,myTabPane.lookupAll(".tab")一無所獲。

除此之外,似乎根本沒有可能訪問自動滾動行爲或標籤按鈕位置或類似的東西。

enter image description here

編輯
這裏是一個MCVE-FXML

<?import javafx.scene.control.*?> 
<?import java.lang.*?> 
<?import javafx.scene.layout.*?> 


<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="20.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <TabPane side="LEFT" tabClosingPolicy="UNAVAILABLE"> 
     <tabs> 
      <Tab text="Untitled Tab 1"> 
      <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
      </content> 
      </Tab> 
      <Tab text="Untitled Tab 2"> 
      <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
      </content> 
      </Tab> 
      <Tab text="Untitled Tab"> 
       <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
       </content> 
      </Tab> 
      <Tab text="Untitled Tab"> 
       <content> 
       <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" /> 
       </content> 
      </Tab> 
     </tabs> 
     </TabPane> 
    </children> 
</HBox> 
+0

您可以創建[MCVE](http://stackoverflow.com/help/mcve)嗎? – 2014-12-07 02:19:25

+0

@James_D是的,我添加了一個示例性的FXML。 – darktestuser 2014-12-07 19:04:41

回答

1

這看起來像影響的JavaFX 8u20一個known bug。它似乎在8u40的ea版本中得到修復。

+0

我不知道爲什麼我以前沒有試過這個。當使用8u40早期版本的發行版時,它工作得很好。 – darktestuser 2014-12-08 04:51:06