`

EclipseRCP开发之如何让左右两边两个表格协同滚动

阅读更多
出自:http://blog.csdn.net/kevin99zhang/archive/2007/10/25/1843463.aspx
  有这样一个需求,左右各一个表格,要求拖动其中任意一个表格中的滚动条,另外一个都随之滚动,看起来就像是在一个表格中。
具体实现如下:
  /** *//**
         * 设置左边(右边)表格的滚动条根据右边(左边)滚动条滚动而滚动
         */
        // Make selection the same in both tables
        tParameterAlarm1.addListener(SWT.Selection, new Listener() ...{
            public void handleEvent(Event event) ...{
                tParameterAlarm2.setSelection(tParameterAlarm1.getSelectionIndices());
            }
        });
        // On Windows, the selection is gray if the table does not have focus.
        // To make both tables appear in focus, draw teh selection background
        // here.
        // This part only works on version 3.2 or later.
        Listener eraseListener = new Listener() ...{
            public void handleEvent(Event event) ...{
                if ((event.detail & SWT.SELECTED) != 0) ...{
                    GC gc = event.gc;
                    Rectangle rect = event.getBounds();
                    gc.setForeground(container.getDisplay().getSystemColor(
                                                          SWT.COLOR_LIST_SELECTION_TEXT));
                    gc.setBackground(container.getDisplay().getSystemColor(
                                                          SWT.COLOR_LIST_SELECTION));
                    gc.fillRectangle(rect);
                    event.detail &= ~SWT.SELECTED;
                }
            }
        };

        tParameterAlarm1.addListener(SWT.EraseItem, eraseListener);
        // Make vertical scrollbars scroll together
        ScrollBar vBarLeft = tParameterAlarm1.getVerticalBar();
        vBarLeft.addListener(SWT.Selection, new Listener() ...{
            public void handleEvent(Event event) ...{
                tParameterAlarm2.setTopIndex(tParameterAlarm1.getTopIndex());
            }
        });
        tParameterAlarm2.addListener(SWT.Selection, new Listener() ...{
            public void handleEvent(Event event) ...{
                tParameterAlarm1.setSelection(tParameterAlarm2.getSelectionIndices());
            }
        });
        tParameterAlarm2.addListener(SWT.EraseItem, eraseListener);
        ScrollBar vBarRight = tParameterAlarm2.getVerticalBar();
        vBarRight.addListener(SWT.Selection, new Listener() ...{
            public void handleEvent(Event event) ...{
                tParameterAlarm1.setTopIndex(tParameterAlarm2.getTopIndex());
            }
        });

     
其中tParameterAlarm1为左边表格的TableViewer,tParameterAlarm2为右边表格的TableViewer
分享到:
评论

相关推荐

    eclipse RCP Plug-in开发自学教程.pdf

    eclipse RCP Plug-in开发自学教程 eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法...

    eclipse rcp应用系统开发方法与实战源代码.zip

    2. **插件开发**:Eclipse RCP的开发基于插件模型,每个功能模块都是一个独立的插件。开发者需要了解如何创建、配置和管理插件,包括编写plugin.xml文件,定义插件的依赖关系,以及实现自定义功能。 3. **工作台...

    eclipse rcp开发入六教程及培训资料

    网络中最全面最合适学习或开发...包含eclipse rcp开发入门教程; eclipse rcp基础教程;eclipse rcp开发自学教程; eclipse rcp开发培训教程及ppt等相关资料;教程中包含一步步操作实例,包含对开发原理的讲解与说明;

    Eclipse RCP开发详解

    在"**Eclipse RCP开发详解**"中,我们将深入探讨这个主题,帮助你快速掌握Eclipse RCP插件的开发。 首先,了解Eclipse RCP的基础架构是至关重要的。Eclipse RCP由多个组件构成,包括Workbench、Perspective、View、...

    通过例子学习EclipseRCP开发

    ### 通过例子学习Eclipse RCP开发 #### Eclipse RCP概览 Eclipse RCP(Rich Client Platform,富客户端平台)是一种基于Java的框架和技术集合,用于构建具有丰富用户界面的应用程序。它允许开发者创建高度可定制且...

    Eclipse RCP开发教程

    **Eclipse RCP 开发教程** Eclipse Rich Client Platform (RCP) 是一个用于构建桌面应用程序的框架,它基于 Eclipse IDE 平台,允许开发者利用 Eclipse 的强大功能和丰富的插件系统来创建自定义的、可扩展的应用...

    Eclipse RCP 插件开发指南

    Eclipse RCP(Rich Client Platform)插件开发是构建基于Eclipse框架的应用程序的核心技术之一。本指南旨在帮助开发者从零开始掌握Eclipse RCP插件开发的基础知识及实战技巧。 ##### Introduction Eclipse RCP 是...

    Eclipse RCP.pdf清晰版

    通过以上介绍,我们可以看到Eclipse RCP是一个非常强大且灵活的框架,它不仅能够加速桌面应用程序的开发,还能让开发者专注于业务逻辑而不是繁琐的界面设计。对于希望利用Eclipse平台构建复杂应用的开发者来说,掌握...

    eclipse rcp 开发基础教程

    Eclipse RCP(Rich Client Platform)是基于Java的开发框架,用于构建桌面应用程序。它提供了构建用户界面所需的各种组件和工具,允许开发者创建功能丰富的、交互式的应用程序。Eclipse RCP利用Eclipse IDE的强大...

    ECLIPSE+RCP应用系统开发方法与实战(PDF 高岗著)

    《ECLIPSE+RCP应用系统开发方法与实战》这本书是高岗先生关于使用Eclipse RCP(Rich Client Platform)进行应用系统开发的一本实战指南。Eclipse RCP是Eclipse IDE的一部分,它提供了一个框架,使得开发者可以构建...

    Eclipse RCP 开发资料

    Eclipse RCP 开发资料打包下载 目录如下: RCP程序设计.pdf(推荐) Addison.Wesley.Eclipse.Rich.Client.Platform.Designing.Coding.and.Packaging.Java.Applications.Oct.2005.chm Eclipse+RCP入门.pdf example_...

    eclipse RCP开发一个简单的MYSQL客户端工具介绍

    本篇文章将详细介绍如何利用Eclipse RCP开发一个简单的MySQL客户端工具,这对于想要深入理解Eclipse RCP框架以及插件开发的开发者来说是非常有帮助的。 首先,我们需要了解Eclipse RCP的基础。Eclipse RCP的核心...

    eclipse RCP开发一个简单的MYSQL客户端工具介绍_

    在这个特定的项目中,我们看到的是一个使用Eclipse RCP开发的简单MySQL客户端工具的介绍。这个工具可能是为了方便用户在Eclipse环境中直接管理和操作MySQL数据库。 在描述中提到的“右键打不开数据库表”的问题,...

    EclipseRCP系统开发与实战(书).rar

    Eclipse RCP(Rich Client Platform)是Eclipse框架下的一个应用程序开发平台,它为开发者提供了一个构建强大桌面应用的框架。这本书《Eclipse RCP系统开发与实战》显然是针对想要学习和掌握Eclipse RCP技术的程序员...

    EclipseRCP教程

    在本教程中,我们将详细介绍 Eclipse RCP 的开发过程、技术要点和注意事项,以帮助开发者快速掌握 Eclipse RCP 的开发技术。 一、Eclipse RCP 的技术要点 Eclipse RCP 的核心技术包括: 1. SWT(Standard Widget ...

    eclipse rcp 开发实例 (源码下载)

    前一段时间学习eclipse rcp开发写的一个学习用的工程。涉及了我当时学到的一些方面。 当时想找一个可以用来学习的简单的源代码真难,有的都是复杂的。 这里提供一个简单的工程。设计初学者接触的各种问题。有时通一...

    Eclipse RCP 软件打包发布方法

    4. **集成JRE**:为了让Eclipse RCP应用程序在没有预装JRE的系统上运行,你需要包含一个JRE。在产品配置中,可以通过"Overview" -> "Runtime"选项卡来指定需要的Java版本。你可以选择捆绑一个特定版本的JRE,或者...

    eclipse RCP mp3工程

    【标签】"eclipse RCP mp3 mp3工程"进一步强调了这个项目的两大关键元素:Eclipse RCP平台和MP3处理。这表明项目的核心是利用Eclipse RCP的技术来处理MP3音频格式,可能涉及到解析MP3文件、播放控制、元数据处理等...

    Eclipse RCP(富客户端平台)开发中文语言包_3.6.0.rar

    这个"3.6.0"版本的Eclipse RCP中文语言包是专为那些需要在中文环境下开发Eclipse插件或RCP应用的开发者准备的。 1. **Eclipse RCP介绍** Eclipse RCP的核心理念是模块化和组件化,这使得开发者可以重用已有的功能...

Global site tag (gtag.js) - Google Analytics