【问题标题】:SWT table: How to retrieve row number under mouse cursor?SWT 表:如何在鼠标光标下检索行号?
【发布时间】:2021-05-06 02:38:48
【问题描述】:

我想检索鼠标光标下的行号(因为我需要根据鼠标位置在工具提示中显示一些相关信息)。

我已经找到了一种根据光标位置 (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
                ...         
            }
        }
    }
}

有什么方法可以做到这一点?

【问题讨论】:

    标签: java swt


    【解决方案1】:

    使用TableindexOf方法:

    Table table = ... your table
    
    TableItem item = ... your item
    
    int row = table.indexOf(item);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2021-09-02
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      相关资源
      最近更新 更多