Eclipse 如何防止带有ControlEditor的TableCursor在更改选择时重新绘制上一个单元格?
我正在处理一个有TableCursor和文本编辑器的表。问题是,在我选择一个单元格后,前一个单元格的内容会在新选择的单元格上绘制一小部分时间,我想防止这种情况发生 以下示例代码显示了相同的问题: 如果有人想运行代码,请在TableCursor变量声明之前插入这3行,并在选择其他单元格时观察问题Eclipse 如何防止带有ControlEditor的TableCursor在更改选择时重新绘制上一个单元格?,eclipse,swt,editor,jface,Eclipse,Swt,Editor,Jface,我正在处理一个有TableCursor和文本编辑器的表。问题是,在我选择一个单元格后,前一个单元格的内容会在新选择的单元格上绘制一小部分时间,我想防止这种情况发生 以下示例代码显示了相同的问题: 如果有人想运行代码,请在TableCursor变量声明之前插入这3行,并在选择其他单元格时观察问题 for (int i = 0; i < NUM; i++) { for (int j = 0; j < NUM; j++) { table.getItem(i).se
for (int i = 0; i < NUM; i++) {
for (int j = 0; j < NUM; j++) {
table.getItem(i).setText(j, Math.random() + "");
}
}
for(int i=0;i
这似乎起到了作用:
cursor.addListener(SWT.Paint, new Listener()
{
@Override
public void handleEvent(Event event)
{
cursor.setRedraw(false);
}
});
cursor.addListener(SWT.Selection, new Listener()
{
@Override
public void handleEvent(Event event)
{
event.display.asyncExec(new Runnable()
{
public void run()
{
cursor.setRedraw(true);
}
});
}
});