我有3张相同形式的表,但它们有不同的号码。列我想为每个表设置不同的列宽。我可以在下面的代码中获得它,或者我必须创建3个不同的类扩展表,然后设置不同的约束宽度?通过这样做,我写了相同的代码三次,我不想做。
npm install -g generator-meanjs
答案 0 :(得分:1)
如果您希望所有列的宽度相同,则可以执行以下操作:
protected TableLayout.Constraint createCellConstraint(Object value, int row, int column) {
TableLayout.Constraint constraint = ((TableLayout) this.getLayout()).createConstraint();
constraint.setVerticalAlign(CENTER);
addComponent(constraint);
constraint.setWidthPercentage(100 / getModel().getColumnCount());
...
}
否则你可以使用以下行中的新构造函数:
public class MyTable extends Table {
private int[] widths;
public MyTable(TableModel tm, int... widths) {
super(tm, true);
this.widths = widths;
}
然后你可以在createCell中执行此操作:
constraint.setWidthPercentage(widths[column]);