设置3个表的不同单元格宽度

时间:2016-01-02 15:10:42

标签: java codenameone

我有3张相同形式的表,但它们有不同的号码。列我想为每个表设置不同的列宽。我可以在下面的代码中获得它,或者我必须创建3个不同的类扩展表,然后设置不同的约束宽度?通过这样做,我写了相同的代码三次,我不想做。

npm install -g generator-meanjs

1 个答案:

答案 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]);