2011-05-16 39 views
2

我们公司正试图将所有人从Window XP迁移到Windows 7,因此我正在测试一些本土SWT应用程序以确保它们仍然在Windows 7上工作。他们中的大多数仍然有效,但有一些奇怪的怪癖。我已经能够解决其中大部分问题,但是我在这里没有运气。SWT Table.setLinesVisible(false)似乎无法在Windows 7上工作

SWT表格总是在列之间有一条丑陋的黑线。我试过调用setLinesVisible(false),但无济于事。我知道这似乎不是一个重要的区别,但我们的用户可能相当挑剔。有没有人有类似的应用程序迁移到Windows 7的经验或有什么我可以尝试的建议吗?

之前(在XP - 竖起大拇指):

enter image description here

后(在Windows 7 - 大拇指朝下[注意黑线):

enter image description here

有什么建议?

+0

感谢。这很有帮助,但不完全是我所寻找的。虽然这是一个很好的回退。如果没有更多的答案来我的方式,我会接受你的答案。 – RAY 2011-05-23 01:36:38

回答

3

尝试添加以下监听到你的餐桌:

 //Assuming your table is named 'table' and 'backgroundColor' is the 
     //color you're using to paint it's background. 
     table.addListener(SWT.EraseItem, new Listener() { 
     @Override 
     public void handleEvent(Event event) { 
      event.gc.setBackground(backgroundColor); 
      event.gc.fillRectangle(event.getBounds()); 
     } 
     }); 


这应该解决您的问题,与垂直线。下面是它的外观在我的例子表:

没有监听器(注意垂直线,他们不是黑在我的情况,他们gray..but他们仍然可见):

enter image description here

现在与听众说:

enter image description here

相关问题