2011-05-16 52 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