Java SWT:在写入之前清除表中的所有项目

时间:2016-06-09 07:58:09

标签: java swt

如何在写入所有行之前清除表格?每次点击此代码时,数据都会完全不同:

graphicsMemoryTable.setRedraw(false);
int count = 0;
for(int i=0; i<graphicsMemory.size() && count<1000; i+=8,count++)
{
    TableItem item = new TableItem(graphicsMemoryTable, SWT.NONE);
    item.setText(graphicsMemory.get(i).toString());
    item.setText(1,graphicsMemory.get(i+1).toString());
    item.setText(2,graphicsMemory.get(i+2).toString());
    item.setText(3,graphicsMemory.get(i+3).toString());
    item.setText(4,graphicsMemory.get(i+4).toString());
    item.setText(5,graphicsMemory.get(i+5).toString());
    item.setText(6,graphicsMemory.get(i+6).toString());
    item.setText(7,graphicsMemory.get(i+7).toString());
}
graphicsMemoryTable.setRedraw(true);

修改 作为参考,调用removeAll()为我工作,调用clearAll没有

2 个答案:

答案 0 :(得分:6)

removeAll()的{​​{1}}方法将删除表格中的所有元素。这是javadoc;

Table
  

从接收器中移除所有物品。

答案 1 :(得分:3)

您可以使用table.clearAll();

  

清除接收器中的所有项目。文字,图标等   项的属性设置为其默认值。如果表   是使用SWT.VIRTUAL样式创建的,这些属性   根据需要再次要求。