`
soleegn
  • 浏览: 149006 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

{转}实现SWT(JFace)里的表格隔行换色功能

 
阅读更多
1,在使用TableViewer时,要实现隔列换色是比较容易的,只要在标签提供器里加上表格的颜色提供器的实现就可以,代码也很简单.如下:

public class XXXXLableProvider implements ITableLabelProvider, ITableColorProvider {
    private Color[] bg = new Color[]{new Color(null, 255,255,255), new Color(null, 247,247,240)};
    private Color[] force = new Color[]{new Color(null, 0,0,0), new Color(null, 0,0,0)};
    .....

    public Color getForeground(Object element, int columnIndex) {
        return force[columnIndex%2];
    }

   
    public Color getBackground(Object element, int columnIndex) {
        return bg[columnIndex%2];
    }
}

bg是背景色,分两种,force是前景色,也是两种,分别对应,想换成其它的颜色,修改两个定义部分就可以了.

2,但要实现隔行换色就比较麻烦些了,不过还是可以实现,实现原理也很简单,就是记录上一次的对象,与本次对象如果不同就换颜色,否则一直使用当前颜色.代码如下:

public class XXXXLableProvider implements ITableLabelProvider, ITableColorProvider {
    private Color[] bg = new Color[]{new Color(null, 255,255,255), new Color(null, 247,247,240)};
    private Color[] force = new Color[]{new Color(null, 0,0,0), new Color(null, 0,0,0)};
    private Object current = null;
    private int currentColor = 0;
    ......
    public Color getForeground(Object element, int columnIndex) {
        return force[currentColor];
    }


    public Color getBackground(Object element, int columnIndex) {
        if (current != element) {
            currentColor = 1 - currentColor;
            current = element;
        }
        return bg[currentColor];
    }
}

颜色也是和上面一样,不过这样做出来的隔行换色毕竟还不是SWT表格本身支持的,如果表格行没有充满,在后面看到的还是表格的背景色(默认白色)
分享到:
评论

相关推荐

    SWT JFACE 编程笔记

    SWT JFACE 编程笔记 , 比较适合刚 解除 java swt jface 的开发人员

    Eclipse SWT JFace核心应用_pdf_含标签_目录

    《Eclipse SWT/Jface核心应用》全面介绍了SWT、JFace和RCP的相关知识。全书共分5篇,第1篇介绍了SWT产生的背景以及SWT的一些基本概念和基础知识。第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的...

    SWT/JFace专题 --- SWT/JFace概述

    9. SWT和JFace的API使用:通过Swt_Jface+API.chm这个帮助文档,可以详细了解每个类和方法的功能和用法。 学习SWT和JFace,开发者不仅可以创建出高性能、美观的Java GUI应用,还能充分利用Eclipse的生态系统,如插件...

    Eclipse SWT JFace核心应用

    Eclipse SWT JFace核心应用 PDF

    Swt JFace in Action 中文版

    6. **表和树组件**:探索Swt和JFace中的表格和树形视图组件,学习如何填充数据,以及实现排序、过滤等功能。 7. **拖放操作**:学习如何实现Swt和JFace中的拖放功能,增强用户交互体验。 8. **国际化与本地化**:...

    配套源码_可视化JAVA SWT JFACE GUI程序设计教程

    Java SWT (Standard Widget Toolkit) 和 JFace 是两个用于构建图形用户界面(GUI)的库,它们都是Java编程语言的一部分,特别是在开发桌面应用程序时非常常用。本教程配套源码是为"可视化JAVA SWT JFACE GUI程序设计...

    SWT.rar_java swt_jface api_swt api_swt jface_swt jface 3.4 api

    SWT(Standard Widget Toolkit)是Java编程环境中用于创建图形用户界面(GUI)的一种开源库,它是...这份"SWT-JFace-3.4-API"资料是开发者学习和工作中的得力助手,它详尽地展示了这两个库的全部功能和使用方式。

    Eclipse SWT JFace核心应用 PDF.part2

    Eclipse SWT JFace核心应用 Eclipse SWT JFace核心应用

    SWT JFACE in Action(中文)

    SWT的核心思想是通过JNI(Java Native Interface)调用操作系统提供的API,以实现与平台相关的功能,如窗口、按钮、文本框等控件。SWT的优势在于它的高效性和灵活性,它允许开发者构建高度定制且响应迅速的GUI应用。...

    全面介绍SWT-JFace

    4. **表和树的数据视图**:JFace的TableViewer和TreeViewer提供了对表格和树形结构数据的高级支持,包括排序、过滤和分页等功能。 5. **视图和编辑器**:在Eclipse IDE中,JFace用于创建可复用的视图和编辑器组件,...

    swt_jface.jar

    使用swt jface图形界面技术需要用到的jar文件。Swt,jface是一款非常优秀的javaUI库

    swt/jface.jar

    JFace是建立在SWT之上的高级UI框架,简化了UI组件的创建和管理,提供了数据绑定、事件处理和视图模型等高级功能。 描述中提到的"swt/Jface用到的最基本的jar包"暗示了这个jar文件是构建基于SWT和JFace的应用程序的...

    SWT Jface知识点

    SWT Jface知识点,Eclipse SWT/JFace核心应用

    SWT JFace 3.4 API

    SWT/JFace 3.4 版本的 API,CHM格式,方便win平台开发人员查阅。

    Eclipse SWT JFace 核心应用

    声明:该文件不能以任何形式用于商业用途,仅供个人学习使用,如有侵权请联系我删除。如有不便,敬请原谅。

    swt/jface实例开发

    【SWT/JFace实例开发】是一份针对Java GUI编程的学习资源,主要聚焦于SWT(Standard Widget Toolkit)和JFace这两个强大的图形用户界面库。SWT是Eclipse项目的一部分,它提供了一套与操作系统直接交互的原生控件,...

    SWT_JFace_in_action_jface_action_

    《SWT_JFace_in_Action》是一本专注于Java编程领域中SWT(Standard Widget Toolkit)和JFace技术的实践指南。这本书深入浅出地讲解了如何使用这两项强大的工具来构建功能丰富的图形用户界面(GUI)。SWT是Eclipse...

    SWT_JFace.rar_ImageAnalyzer_SWT-jface_swt jface

    SWT (Standard Widget Toolkit) 和 JFace 是 Eclipse 开发框架中的两个重要组件,它们在创建图形用户界面(GUI)时发挥着关键作用。本项目"SWT_JFace.rar_ImageAnalyzer_SWT-jface_swt_jface"是围绕这些技术展开的一...

Global site tag (gtag.js) - Google Analytics