在Box布局中固定摆动组件的高度

时间:2009-05-26 10:29:08

标签: java swing fixed

早上好,

感谢javax.swing.Box类

,我正在创建一个GUI

面板内:
JLabel的
具有固定高度的JTable
JLabel的
具有自动高度

的JTable

我尝试了一切来修复第一个JTable高度,但没有任何成功 我为上述行的每个组件指定了一个Box.createHorizo​​ntalBox(),然后将它们添加到Box.createVerticalBox()。
我没有获得第一个结果,而是获得了两个JTable都具有自动高度的布局,并且我希望第一个JTable具有固定的高度......

感谢您的回答,

干杯

3 个答案:

答案 0 :(得分:2)

我找到了一个解决方案,我不应该因为这样一个愚蠢的问题而烦恼你:
对于我创建的每个水平框,我添加了一个10像素的水平支柱来显示一种填充。 struts是行中的第一个,它被自动地作为框架布局建筑的“高度参考”,但我是awt / swing布局的新手,所以我可能会误以为这样。

我删除了那些支柱并插入了一个垂直框,其中包含10个像素的水平支柱。它完成了这项工作。

无论如何,谢谢你的时间Markus&迈克尔,当我的老板让我有时间的时候,我会深入了解sun的教程

干杯

答案 1 :(得分:0)

您可以通过调用

更改为行高
TableColumn column = table.getColumnModel().getColumn(0);
    column.setPreferredWidth(150);
    //set all rows height 
    table.setRowHeight(20);
    //set specific row height
    table.setRowHeight(2,50);

您可以通过调用

更新表格大小
setPreferredSize(Dimension preferredSize)

你还必须决定小组应该采用哪种布局。你设置了布局吗?

答案 2 :(得分:0)

如何向我们展示实际代码?

听起来你没有正确使用布局管理器。您应该使用BorderLayout,其中“CENTER”位置为“自动”表,其余位于NORTH位置的第二个面板内,第二个面板使用Boxlayout或FlowLayout。

Sun使用布局管理器非常好tutorial可能对您有很大的帮助。