如何使用Groovy的TableLayout valign属性

问题描述 投票:0回答:1

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 ?

groovy tablelayout swingbuilder
1个回答
0
投票
TD 的

alignvalign 属性仅对合并后的列或已与 colspanrowspan 属性合并的行生效。这与 HTML 表格的行为几乎相同。

TableLayout 类只不过是使用 GridBagLayout 的面板。每个表格单元格 (TD) 只是添加到面板的组件,具有特定的 GridBagLayout 约束。这些约束是在 TableLayoutCell 类中预定义的。这些预定义约束之一是

weighty,其设置为值 0。这意味着面板/表格将始终垂直居中。

© www.soinside.com 2019 - 2024. All rights reserved.