2016-03-16 56 views
0

我想檢索鼠標光標下的行號(因爲我需要在基於鼠標位置的工具提示中顯示一些相關信息)。SWT表:如何退出鼠標光標下的行號?

我已經找到了一種基於光標位置計算列數的方法(Why does Table.getItem(Point) always return the item from column zero?),但找不到行號。

final Table table = ... 

table.addListener(SWT.MouseHover, new Listener() { 
    @Override 
    public void handleEvent(Event event) {  
     final Point point = new Point(event.x, event.y); 
     final TableItem item = table.getItem(point); 
     for (int i = 0; i < COLUMN_CNT; i++) { 
      final Rectangle rect = item.getBounds(i); 
      if (rect.contains(point)) { 
       // now I'm in the right column 
       ...   
      } 
     } 
    } 
} 

什麼是實現該目標的方法?

回答

1

使用TableindexOf方法:

Table table = ... your table 

TableItem item = ... your item 

int row = table.indexOf(item); 
+0

完美,謝謝! –