我正在创建一个GWT应用。在我的所有屏幕中,一个需要是经常性的:向屏幕添加许多组件并自动将它们组织成2或3列。我想为此创建一个模板,但在此之前,我想知道是否已经为此需求定义了一些东西。
理想情况下,这就是我想要做的事情:
MyLayout myLayout = new MyLayout(nbColumns);
myLayout.add(widget1);
myLayout.add(widget2);
myLayout.add(widget3);
myLayout.add(widget4);
myLayout.add(widget5);
...
让组件自动整理到nbColumns
列。
GWT或GXT 3中的任何解决方案都将受到赞赏。如果这个解决方案可以和uiBinder一起使用,我也很感激。
答案 0 :(得分:0)
用法示例:
public class TableForm extends ContentPanel{
setLayout(new TableLayout(2)); // number of columns in the table
Button button1 = new Button(); // any widget, button is just example
Button button2 = new Button();
add(button1,new TableData("100%","100%")); // width and height
add(button2,new TableData("100%","100%"));
}
TableLayout的构造函数中的数字是列数 - 布局会自动按指定的列数组织您的小部件。您只需执行add()操作。
注意,通常最好不要设置高度。在这种情况下,小部件的高度将是默认值。否则,它将被拉伸到指定的百分比。
还有一个建议 - 使用TableLayout的setBorder(int width)(width> 0)方法来查看TableLayout如何组织你的组件。此外,TableData对象具有rowspan和colspan属性 - 您可能会发现它很有用。