javafx同一标签中的新“屏幕”

时间:2012-08-29 14:28:31

标签: javafx-2 fxmlloader

我有一段这样的代码:

<Tab text="A" fx:controller="myController" xmlns:fx="http://javafx.com/fxml">
  <content>
    <VBox>
      <children>
        <fx:include fx:id="topTab" source="../top-tab.fxml"/>
        <AnchorPane prefHeight="600" VBox.vgrow="ALWAYS">
            <!-- insert code here -->
        </AnchorPane>
        <AnchorPane id="bottom_anchor" prefHeight="250" />
        <fx:include fx:id="bottomTab" source="../bottom-tab.fxml"/>
      </children>
    </VBox>
  </content>
</Tab>

目前,“在此处插入代码”部分包含指向youtube视频的链接列表。这个想法是,当用户点击其中一个链接时,在同一个AnchorPane中显示视频和列表消失。这就像在列表消失时出现的另一个屏幕(如果可能的话,有一个很好的转换),所有这些都在这个AnchorPane中,因为我需要留在那里。

我已经考虑过使用StackPane并根据需要使事物可见或不可见,但这看起来很奇怪。

由于我是JavaFX的新手,所以对9岁的任何答案都不胜感激

谢谢大家!

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是在您已经拥有的AnchorPane中添加2个AnchorPanes。我们称它们为pList和pContent。然后玩它们的可见属性。

为了做一个很好的过渡,你可以这样做:

FadeTransition showTransition = new FadeTransition(Duration.seconds(.1), pList);
showTransition.setFromValue(0.0f);
showTransition.setToValue(1.0f);
showTransition.play();

对pContent采取另一种方式。