3

我是 JavaFX 的新手,遇到了一些麻烦:

我有一个带有多个选项卡的 TabPane,我想让选项卡标题不可见。因此,用户不应通过单击标题来更改选项卡,但它将以与菜单不同的方式进行更改。

如何使此选项卡标题不可见/隐藏?这就是问题所在。我不想隐藏整个标签或禁用或类似的东西,只是标题。

或者也许你有另一个完全不同的想法,如何在 JavaFX 中解决这个问题。也许有另一个控件???

感谢您提供任何线索。

4

3 回答 3

6

如果您不使用Tabs,则不需要TabPane.

您可以只引入内容窗格列表并根据菜单命令切换它们。

您可以在下一个问题中找到代码示例:如何在我的 javaFX 2.0 应用程序中实现 awt.CardLayout 的功能?

于 2012-12-18T12:42:28.483 回答
3

我的研究结论:这在 JavaFX 中是不可能做到的。TabPane 标题可以位于控件的顶部、左侧、右侧和底部,但不能隐藏。

于 2012-12-20T15:04:10.597 回答
0

您可以通过包装TabPaneAnchorPane根容器)并根据需要将 TabPane 的 topAnchor 设置为负数来实现这一点。

Java代码:

...
AnchorPane.setTopAnchor(myTabPane, -29.0);
AnchorPane.setBottomAnchor(myTabPane, 0);
AnchorPane.setLeftAnchor(myTabPane, 0);
AnchorPane.setRightAnchor(myTabPane, 0);
...

同样在 FXML 中:

<?xml version="1.0" encoding="UTF-8"?>

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

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <TabPane fx:id="myTabPane" prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="-29.0">
        <tabs>
          <Tab fx:id="tab1" text="Tab 1">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
                     <children>
                        <Label text="Tab 1" />
                        <Button layoutX="35.0" layoutY="2.0" mnemonicParsing="false" text="Go to Tab 2 (non-functional currently)" />
                     </children>
                  </AnchorPane>
            </content>
          </Tab>
          <Tab fx:id="tab2" text="Tab 2">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
                     <children>
                        <Label text="Tab 2" />
                        <Button layoutX="35.0" layoutY="2.0" mnemonicParsing="false" text="Go to Tab 1 (non-functional currently)" />
                     </children>
                  </AnchorPane>
            </content>
          </Tab>
        </tabs>
      </TabPane>
   </children>
</AnchorPane>
于 2019-09-25T00:10:38.817 回答