> I'm clearly misunderstanding something here. Try running this toy example:
>
> <Window title="Preferred size example" maximized="true"
> xmlns="org.apache.pivot.wtk">
> <TablePane>
> <columns>
> <TablePane.Column width="100" />
> <TablePane.Column width="1*" />
> </columns>
> <TablePane.Row height="80">
> <Border preferredWidth="50" preferredHeight="20"
> styles="{backgroundColor:'blue'}"/>
> <Label styles="{wrapText:true}"
> text="Why is the blue box to my left 100px wide instead of its
> requested 50px, and 80px high instead of 20?" />
> </TablePane.Row>
> </TablePane>
> </Window>
>
> Why does TablePane override the preferred size of the Border element?
Because you gave the first column and row an explicit size. Try removing
width="100" and height="80" (or replace them with width="-1" and height="-1").
That will tell the column and row to use their default sizes.