JFace / SWT表中的更新/刷新TableEditor

时间:2018-12-07 18:43:19

标签: swt jface tableviewer

这是我在这里的第一篇文章,希望我能获得一些见识。我目前有一个SWT表,其中包含4个字符串和每行一个按钮,可以动态添加和删除它。我为每行创建一个新的表编辑器,以在添加行时创建每个按钮,并在删除行时将按钮与编辑器一起放置。该表还可以通过单击上下按钮来上下移动行,我通过以下方式实现了这一点:

  1. 保存所选表项的数据
  2. 删除表项,该表项通过处置侦听器删除按钮及其编辑器。
  3. 在要移动的索引处创建表项,如果下降则创建索引表,如果上升则创建索引表。
  4. 使用之前保存的数据设置新创建的表格项目的数据
  5. 创建新的编辑器以为该表项创建新的按钮

在新索引处创建表项之后,之前在新索引处存在的表项似乎自动移动到所选表项之前的位置,好像它知道要交换位置一样,并且一切正常。我的问题是,在新索引存在的表项自动移动之前,除非单击表中的某处,否则编辑器似乎不会更新/刷新按钮。例如,如果我的表由两行组成,而我将第1行向下移动:

第1行:约翰(按钮)

第2行:杰克(按钮)

它看起来像这样:

第1行:杰克

第2行:约翰(按钮)

直到我单击表格,杰克的按钮才会出现。

我知道这不是实现此目的的最有效方法,但是我想知道是否可以更新Jack的Button Editor来显示按钮,而无需我单击表或触发任何鼠标单击表。经过数小时的研究,我找不到访问Jack编辑器的方法。另外,如果任何人都可以解释SWT表的行为以及它如何自动移动表项,那将是很棒的。我知道这很长,但是如果有人可以提供帮助,我将不胜感激。谢谢!!

0 个答案:

没有答案