[英]JavaFX 8 TabPane - Tab buttons keep getting scrolled out of the viewport of TabPane header
我在TabPane
上遇到了一个非常奇怪的问题,它的选项卡按钮在左侧。 该问题仅在应用程序运行时出现,而在SceneBuilder(2.0)预览中不存在。
每次更改Tab
(通过用户单击或通过代码更改selectedIndex
),选项卡都将其位置向上移动并移出选项卡按钮区域的视口,如下面的示例图片所示。 像素移位量似乎取决于TabPane
的宽度(宽度越小,移位量越大)以及大多数时候TabPane
中的按钮完全移出视口。
通过聚焦不同的窗口或在选项卡按钮区域中向上或向下滚动,可以将选项卡按钮恢复到其正常位置。 一旦它们恢复到正常位置,它们只会在所选选项卡再次更改时再次移位。
我试图访问TabHeaderSkin
对象(样式类“ tab”),这些对象似乎是TabPane
标头区域中唯一因运行而更改的运行时对象。 根据Scenic View,它们的localY
值会发生变化。 但是, myTabPane.lookupAll(".tab")
找不到任何内容。
除此之外,似乎根本不可能访问自动滚动行为或选项卡按钮位置或类似内容。
编辑
这是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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.