如何使用Groovy的TableLayout valign属性

g52tjvyc  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(48)

Groovy的SwingBuilder包中的TableLayou支持垂直对齐,但是当我在代码中使用它时,

import groovy.swing.SwingBuilder;
import javax.swing.BorderFactory;
import java.awt.Color;

def ui = new SwingBuilder();
def frame;

frame = ui.frame(title: "Window", bounds: [0, 0, 500, 500], layout: null)
{
   tableLayout(size:[400,400],border: BorderFactory.createLineBorder(Color.RED, 2))
   {
       tr
       {
           td(valign:'top')
           {
               label(text:"Label", border: BorderFactory.createLineBorder(Color.BLUE, 2))
           }
       }
   }
}
;
frame.show();

字符串
标签显示为垂直居中而不是位于顶部。是否需要额外的属性来正确对齐,或者它根本不适用于TableLayout?

66bbxpm5

66bbxpm51#

TD的alignvalign属性只对已经用colspanrowspan属性合并的列或行生效。这与HTML表的行为几乎相同。
TableLayout类只是一个使用GridBagLayout的面板。每个表格单元格(TD)只是添加到面板的组件,具有特定的GridBagLayout约束。这些约束在类TableLayoutCell中预定义。这些预定义的约束之一是weighty,设置为0。这意味着面板/表格将始终垂直居中。

相关问题