我在隐藏一个窗格并在Apache Pivot应用程序中显示另一个窗格时遇到问题。在我的BXML文件中,我在一个窗口中有两个BoxPane
。窗格1开始可见,窗格2开始隐藏:
<BoxPane bxml:id="pane1" orientation="vertical" styles="{horizontalAlignment:'center', verticalAlignment:'center'}">
<Label text="Pane 1"/>
<PushButton bxml:id="startButton" buttonData="Start"/>
</BoxPane>
<BoxPane bxml:id="pane2" orientation="vertical" visible="false" styles="{horizontalAlignment:'center', verticalAlignment:'center'}">
<Label text="Pane 2"/>
</BoxPane>
我在按钮上添加了一个监听器,该窗口隐藏了窗格1,窗格2可见:
@BXML private PushButton startButton = null;
@BXML private BoxPane pane1 = null;
@BXML private BoxPane pane2 = null;
@Override
public void initialize(Map<String, Object> namespace, URL location, Resources resources)
{
startButton.getButtonPressListeners().add(new ButtonPressListener()
{
@Override
public void buttonPressed(Button button)
{
start();
}
});
}
private void start()
{
pane1.setVisible(false);
pane2.setVisible(true);
}
当我点击按钮时,窗格1被隐藏,窗格2从未显示。当我颠倒start()
中语句的顺序时,会发生同样的事情。
有趣的是,当我发表评论pane1.setVisible(false)
时,单击按钮时会显示第2页 。
这是我的第一个Pivot应用程序,所以也许有一些花哨的容器以更好的方式做我想做的事情,但我仍然想知道这里发生了什么。我想做的事情似乎很简单,我有点困惑为什么它不起作用。
答案 0 :(得分:1)
您可能想尝试使用CardPane在两个视图之间切换。关于它的教程在这里:http://pivot.apache.org/tutorials/card-panes.html 基本的想法是让CardPane&#34;主持人&#34;你的两个BoxPanes,就像这样:
<CardPane bxml:id="cardPane">
<BoxPane bxml:id="pane1" ...>
<Label text="Pane 1"/>
...
</BoxPane>
<BoxPane bxml:id="pane2" ...>
<Label text="Pane 2"/>
</BoxPane>
</CardPane>
&#13;
使两个BoxPanes可见。然后,当您想要在它们之间进行更改时,请使用cardPane.setSelectedIndex(...);