Try using a TablePane instead of the BoxPane. The reason you are seeing this
is the following:
· BoxPane, vertical with fill=true will lay out its children from top
to bottom and size them horizontally to fill the space, but only take as much
room as required vertically to fit its children’s size(s).
· Since the SplitPane doesn’t have a native size (it will stretch
itself horizontally to fill the space, but has no vertical size without
something to give it a size) it will end up with a 0 height.
So, you could, instead of a BoxPane, use a TablePane with two rows (sizes “1*”
and “-1”) and one column (size “1*”). This option will leave room for your
status row (as the bottom row of the TablePane) and take up the rest of the
space with the other row, which will give a size to the SplitPane.
The code would look something like this:
<Frame …>
<menuBar>
…
</menuBar>
<TablePane>
<columns>
<TablePane.Column width=”1*”/>
</columns>
<rows>
<TablePane.Row height=”1*”>
<SplitPane …>
…
</SplitPane>
</TablePane.Row>
<TablePane.Row height=”-1”>
<Label text=”Status Bar Text”/>
</TablePane.Row>
</rows>
</TablePane>
</Frame>
Try that and see how it goes.
~Roger Whitcomb
From: Joseph Paterson [mailto:[email protected]]
Sent: Tuesday, June 05, 2012 7:01 PM
To: [email protected]
Subject: SplitPane within a BoxPane
Hello,
I'm trying to setup the general layout of my application, and ideally I would
like a menu at the top, something in the middle and a placeholder for a status
bar at the bottom. I'm using a Frame as it has built-in support for the menu,
and for the content I am using a BoxPane. The BoxPane will contain a SplitPane
followed by a Label for the status bar, but I can't get the SplitPane to show
up. If I have it on it's own (ie. not within the BoxPane) it is fine, but it
disappears when I have it in the BoxPane. My BXML file looks like this:
<Frame xmlns="org.apache.pivot.wtk"
title="My Title" styles="{showWindowControls:false}" maximized="true">
<menuBar>
[...]
</menuBar>
<BoxPane orientation="vertical" styles="{fill:true}">
<SplitPane orientation="vertical" splitRatio="0.8">
<left>
<Border/>
</left>
<right>
<Border/>
</right>
</SplitPane>
<Label text="Status Bar Text"/>
</BoxPane>
<Frame>
Am I missing something?
Many thanks,
Joseph.