gpt4 book ai didi

java - "Fixing"SWT 表中的前几列,以防止它们水平滚动

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:47 25 4
gpt4 key购买 nike

我们已经实现了一个带有 SWT 树表的基于表的编辑器。它几乎完成了我们想要的功能,只是我们无法找到一种方法来确保当用户水平滚动时前几列保持在其位置(以便可以识别正在编辑的行)。

有许多第三方表格控件在不同程度上不完整或被废弃,还有一个片段展示了如何使用两个表格(垂直滚动时它们不同步)。

解决这个问题的最佳方法是什么?

最佳答案

这个“官方”SWT snippet做你想做的事,至少在我的机器上 - 它不会在垂直滚动上失去同步。但价格是第二个滚动条——太难看了。为了防止这种情况,您可以在左表的构造函数中添加样式 SWT.NO_SCROLL

要改进这一点,您必须在 SWT.Traverse 上向两个表添加一个监听器,如果用户使用按键导航,该监听器会同步它们,如下所示:

  leftTable.addListener(SWT.Traverse, new Listener() {

public void handleEvent( Event event ) {
rightTable.setTopIndex(leftTable.getTopIndex());
}
});

我不会选择另一个 Table 实现,因为您会失去 SWT 的最大优势:使用 native 小部件,它在每个操作系统中看起来和感觉都“正确”。如果您无论如何都想这样做,Grid来自 Nebula 项目的技术比 alpha 标签所暗示的要成熟得多。但不知道它是否能达到你想要的效果。

关于java - "Fixing"SWT 表中的前几列,以防止它们水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/602939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com