SWT 表 : how to set/get "focused" row

标签 swt

在 Windows 和 Linux 上,当按住 Ctrl 键时,可以使用脱字符键上下移动而不更改选择。该表显示了一些视觉反馈。

我玩过一个使用 TableCursor 的 SWT 代码片段,但它似乎半生不熟,因为它引入了几个新错误 - 例如当按下 Ctrl+End 时,释放 Ctrl 键后跳回到之前的选择。

如何获取或设置这个“重点”行?

最佳答案

这看起来不像是可以直接获取/设置的属性,但您可以从绘制事件中检测到焦点行并自定义绘制焦点。

添加 Listener到您的 SWT.PaintItem 事件表:

handleEvent(PaintEvent e) {
    if (e.detail & SWT.FOSCUSED != 0)
        myFocusedRow = ((Table)e.widget).indexOf((TableItem)e.item);
    ...
    if (e.item == myFocusedItem)
        e.gc.drawFocus(e.x, e.y, e.width, e.height);
}

关于SWT 表 : how to set/get "focused" row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8852574/

相关文章:

java - 如何在 Jface tableviewer 列复选框图像中对齐中心?

java - 无法将 MS-Excel 列粘贴到 SWT 的文本小部件中

java - 让 SWT 浏览器将其输出呈现为图像

java - 使用 MigLayout 限制列的增长

java - 需要 SWT 通知动画框(又名 toastr )

java - 我有一个包含多列的表。是否可以使用 Jface 在每个列条目中创建一个单选按钮?

java - 有没有办法为 SWT 组件启用双缓冲?

Javascript 无法识别 SWT BrowserFunction

java - 修改 Java SWT 浏览器用户代理

java - 桌面 SWT 应用程序无法在 Ubuntu 中的 Eclipse 下运行