`
banner
  • 浏览: 54173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

How to close a viewPart in RCP

阅读更多
   前几天在工作中遇到需要通过编码将一个RCP viewpart关闭的问题:
   在界面中手动点击“X”按钮,执行GC,则viewPart instance count变为0。
   通过编码形式时,用dispose()只能将其内容清空,却不能将其关闭;IWorkbenchPage.hideView(viewPart)可以“关闭”它,而通过JProfiler看到,这个viewPart的instance还是存在,只是它内部components都被dispose了(从eclipse的sourcecode可以看到,从JProfiler中手动清理内存时,发现这个viewPart中的components回收的很慢,可能与它里面的components多有关)。此时,在打开该viewPart时,该viewPart的instance count 变成 2,再关闭viewPart,run GC后viewPart instance count又变成1。不断进行打开、关闭、回收内存操作,viewPart instance count不断在2与1间变化,目前暂时无法确切解释为什么总有一个viewPart存在内存中!
   领导追求那种手动点击“X”按钮的效果,只好在hideView()后,加了一句:viewPart=null,这样回收内存后viewPart就没了。
   不管是手动点击“X”按钮还是hideView,viewPart的dispose()方法都会运行,要在关闭时做些处理,可以考虑把代码写到dispose()里。
  
分享到:
评论
1 楼 dingding5060 2011-09-16  
您好!
我自己写了一个类继承viewpart,实现一个导航树视图,目前也是要实现手动点击“X”按钮效果后,我需要添加一段操作代码,但是我显示实现dispose方法进行关闭动作,bug调试发现没有进入我dispose方法中,请问那个 实现手动点击“X”按钮效果 的关闭动作在那里呢?谢谢

相关推荐

    Eclipse RCP程序ViewPart占位功能的实现

    本教程将深入探讨如何在Eclipse RCP程序中实现ViewPart的占位功能,这对于构建具有多视图的工作环境至关重要。 首先,我们需要理解ViewPart的基本概念。在Eclipse RCP中,ViewPart是用户界面中的一个组件,它通常...

    rcp的文本编辑器的实例

    通过选择“File” -> “New” -> “Plug-in Project”,然后按照向导提供的步骤进行配置,包括项目名称、目标运行环境等。 2. **定义编辑器视图** 文本编辑器的核心是实现`IEditorPart`接口,这是Eclipse中编辑器...

    RCP 插件项目自学的教程

    - 创建一个RCP程序:在Eclipse中,通过"File > New > Project > Eclipse Plug-in Project"创建一个新的RCP项目。然后,添加必要的插件依赖,如UI组件库,以支持视图和控制台等元素。 - 启动你的RCP程序:完成项目...

    在RCP中显示JFreeChart报表

    在本文中,我们将深入探讨如何在Eclipse Rich Client Platform (RCP)应用程序中集成和显示JFreeChart报表。JFreeChart是一个强大的Java库,用于创建各种图表类型,如折线图、柱状图、饼图等,而RCP是Eclipse框架的一...

    eclipse 3.6 rcp 开发

    ### Eclipse 3.6 RCP 开发知识点概览 #### 1. 富客户端平台 (RCP) 概述 **1.1 概述** - **定义**: Eclipse Rich Client Platform (RCP) 是一种基于Java的技术框架,用于构建可扩展的桌面应用程序。 - **特点**: ...

    rcp与spring集成的一个简单例子

    4. **注入Spring Bean**:在RCP组件(如ViewPart或EditorPart)中,我们可以使用`@Autowired`注解或者通过ApplicationContext的getBean()方法获取Spring管理的bean,将其注入到RCP组件中。 5. **处理事件和命令**:...

    eclipse rcp 客户端MySQL连接

    Eclipse RCP(Rich Client Platform)是Eclipse框架下的一个应用程序开发平台,它允许开发者创建桌面应用程序。在Eclipse RCP客户端中与MySQL数据库进行连接是常见的需求,这涉及到Java数据库连接(JDBC)和Eclipse...

    实现 RCP 应用程序的步骤

    在Eclipse中,选择“File” > “New” > “Project”,然后在弹出的对话框中选择“Eclipse Plug-in Project”。输入项目名称,点击“Next”,并在“Target Platform”页面选择或配置你的运行环境。 3. **定义插件...

    一个简单的Eclipse RCP 源码示例

    Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它基于Java,提供了丰富的用户界面和模块化架构。这个简单的Eclipse RCP源码示例旨在帮助初学者快速理解RCP应用的基本结构和工作原理...

    RCP基本框架分析 Workbench是工作台,通俗地说就是代表用户界面的UI元素

    在Eclipse Rich Client Platform (RCP)中,构建应用程序的核心组件包括Display、Shell、Workbench以及Advisor类。这些组件构成了RCP应用的基础架构,用于创建和管理用户界面。 1. Display: Display对象是SWT...

    Eclipse RCP应用系统开发方法与实战(第四章)

    Eclipse Rich Client Platform(RCP)是一个强大的框架,用于构建桌面应用程序。在“Eclipse RCP应用系统开发方法与实战(第四章)”中,我们将深入探讨如何利用这个平台进行高效且灵活的应用程序开发。本章节主要...

    RCP入门 View Editor

    **RCP入门:View与Editor详解** RCP(Rich Client Platform)是Eclipse框架的核心组成部分,它为开发者提供了一个构建复杂桌面应用的基础架构。RCP允许开发者专注于业务逻辑的实现,而不必过于关注用户界面的设计,...

    eclipse rcp demo例子 view editor 图表

    Eclipse RCP(Rich Client Platform)是一个开源框架,用于构建功能丰富的桌面应用程序。它提供了构建专业级应用所需的基础架构,包括窗口系统、插件机制、工作台管理等。本示例是一个Eclipse RCP的实战演示,展示了...

    Eclipse RCP教程

    ### Eclipse RCP 教程知识点概述 #### 一、Eclipse RCP 概览 - **定义**:Eclipse RCP(Rich Client Platform)是一种基于Java的框架和技术集合,允许开发者构建灵活且可扩展的桌面应用程序。 - **目标**:通过提供...

    EclipseRCP四常用技术基础知识PPT课件.pptx

    【Eclipse RCP基础知识概述】 Eclipse RCP(Rich Client Platform)是Eclipse IDE的一个核心组件,它提供了一个用于构建复杂桌面应用的框架。RCP应用程序通常由多个组件构成,如视图(Views)、编辑器(Editors)、...

    spring rcp

    标题 "spring rcp" 暗示我们要讨论的是Spring Rich Client(Spring RCP)平台,这是一个基于Spring框架的桌面应用程序开发平台。Spring RCP提供了一种利用Spring的强大功能来构建可扩展、模块化的桌面应用的方法。 ...

    Eclipse RCP开发

    ### Eclipse RCP开发知识点详解 #### 1. Eclipse RCP概览 - **Eclipse RCP**(Rich Client Platform)是一种用于构建复杂桌面应用程序的框架,它基于Java语言,利用了Eclipse平台的强大功能。 - **特点**:高度可...

    使用EclipseRCP进行桌面程序开发(三):视图和透视图

    首先我们来介绍一下视图,建立一个视图其实非常简单,只要从org.eclipse.ui.part.ViewPart继承一个类,然后在plugin.xml中进行视图的配置。其中,向视图中添加控件的操作,我们即可以手工编写,也可以使用Designer...

Global site tag (gtag.js) - Google Analytics