繁体   English   中英

JavaFX 8 TabPane-Tab按钮不断滚动到TabPane标头的视口之外

[英]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>

这看起来像一个已知的影响JavaFX 8u20的错误 它似乎在ea版本8u40中已修复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM