SWT table: 如何检索鼠标光标下的行号?
SWT table: How to retrieve row number under mouse cursor?
我想检索鼠标光标下的行号(因为我需要根据鼠标位置在工具提示中显示一些相关信息)。
我已经找到了一种根据光标位置计算列号的方法 (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
...
}
}
}
}
实现该目标的方法是什么?
使用Table
indexOf
方法:
Table table = ... your table
TableItem item = ... your item
int row = table.indexOf(item);
我想检索鼠标光标下的行号(因为我需要根据鼠标位置在工具提示中显示一些相关信息)。
我已经找到了一种根据光标位置计算列号的方法 (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
...
}
}
}
}
实现该目标的方法是什么?
使用Table
indexOf
方法:
Table table = ... your table
TableItem item = ... your item
int row = table.indexOf(item);