java - JFace TableViewer 像 Excel 一样在单元格上绘制矩形

标签 java eclipse-plugin swt eclipse-rcp jface

我正在尝试在 TableViewer 中实现类似于 Excel 的功能,以在突出显示的单元格中绘制矩形。下面是执行这项工作的代码片段,但它并不能完全工作,因为只绘制了左侧和顶部边缘,我无法理解为什么底部和右侧边缘被错过!

代码片段:

private void markFocusedCell(Event event, ViewerCell cell) {
        GC gc = event.gc;

        event.gc.setAlpha(200);
        event.gc.setForeground(event.display.getSystemColor(SWT.COLOR_RED));

        Rectangle rect = cell.getBounds();

        gc.drawRectangle(rect.x, rect.y, rect.width, rect.height);
        event.gc.setForeground(event.display.getSystemColor(SWT.COLOR_BLACK));

        event.detail &= ~SWT.SELECTED;
    }

输出

enter image description here

最佳答案

您只需将底线和右线向上/向右绘制 1 像素即可:

gc.drawRectangle(rect.x, rect.y, rect.width - 1, rect.height - 1);

关于java - JFace TableViewer 像 Excel 一样在单元格上绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27637478/

相关文章:

java - Cometd如何动态创建和订阅 channel ?

java - 设置内容 View 层次结构

java - 如何删除迭代器循环并允许 cellDateType 在 xlsx java 中工作?

java - 在 eclipse 插件中查找资源的路径

windows-10 - SWT FileDialog 在 Windows 10 上缺少导航栏

Java初学者: Program not compiling; getting error message

java - 让 Eclipse OSGI 激活器相互继承是个好主意吗?

java - 更改 Eclipse 工具提示/提示/建议/覆盖窗口颜色

java - Java 中的工作流 UI

java - 基于选择的 Eclipse RCP 处理程序启用