- 浏览: 403284 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zyu67:
这个类运行不起来呀 这类如何导出数据呀
一个数据库连接Java工具类和数据迁移类 -
kobe7777:
你好,请问我想写个excelToExcel 另存一个excel ...
Jacob 另存为Word、Excel -
di1984HIT:
记录一下学习。
Eclipse 平台架构 -
di1984HIT:
鞋的不错啊。呵呵额
一个数据库连接Java工具类和数据迁移类 -
Jameslyy:
确认jacob dll是否已经放入系统路径,jacob版本不同 ...
Jacob 另存为Word、Excel
RCP的访问控制在应用中非常的有必要,因为大多数的应用都是多用户多极别。
客户端至少需要在三个层次上进行控制:
一是SWT组件级别,包括按钮、快捷菜单等等。
二是视图级别的控制,这个比较容易,只要在透视图中控制视图就可以了。
三是透视图的控制。
在透视图中包含视图。可以通过Open perspective对话框选择打开透视图,但是这里有这样一个问题,Open perspective对话框中显示的是RCP系统中所有的透视图,而且无法进行配置。在工具栏上可以显示透视图工具栏,非常的方便于用户的使用,一般都需要显示出来。但是这个工具栏带有一个other按钮,打开就是Open perspective对话框。有一个方法是从透视图注册器中删除不可访问的透视图,但是这样会弹出一个错误提示框,据说式Eclipse老的版本的一个虫子。或者Eclipse开发者就是这样设定的,不允许二次开发者操作内部方法。其方法如下:
1 /** *//**
2 * 在RCP程序的ApplicationWorkbenchWindowAdvisor类的postWindowCreate()方法中调用,用于删除无权限操作的Perspective
3 * @param pr
4 */
5 public static void perspectiveFiltration(PerspectiveRegistry pr) {
6 IPerspectiveDescriptor[] _ipd = pr.getPerspectives();
7 Object [] _objs = new Object[_ipd.length];
8 for(int i=0; i<_ipd.length; i++) {
9 if(!isSecurityPerspective(_ipd[i].getId())) {
10 _objs[i] = _ipd[i];
11 }
12 }
13 log.debug("从已注册的Perspective列表中删除Perspectives为: " + _objs.toString());
14 pr.removeExtension(null, _objs);
15 log.debug("需要重新注册新的默认Perspective页");
16 setDefautlPerspectice(pr);
17 }
尝试了很多方法,最后决定到Eclipse的源码中查一查,看看能不能找到行得通的方法。终于找到了一种过滤透视图的方法,修改的代码不多,几行的样子。
在org.eclipse.ui.workbench_3.2.2.M20070119-0800包中加入了一个类FunctionFilter:
package org.eclipse.ui.internal;
import org.eclipse.ui.PlatformUI;
/**
*
* @author Administrator
*
*/
public class FunctionFilter {
public final static String FILETERED_PERSPECTIVES = "FILETERED_PERSPECTIVES";
public static Object[] fileteredPerpectives() {
return (Object[]) PlatformUI.getWorkbench().getDisplay().getData(
FILETERED_PERSPECTIVES);
}
}
你可能已经注意到,使用了Display保存过滤了的透视图。
然后在eclipse内部类PerspContentProvider修改了几行代码:
/*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.internal.dialogs;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.ui.IPerspectiveRegistry;
import org.eclipse.ui.internal.FunctionFilter;
public class PerspContentProvider implements IStructuredContentProvider {
/**
* Create a new PerspContentProvider
.
*/
public PerspContentProvider() {
//no-op
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
public void dispose() {
//no-op
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
public Object[] getElements(Object element) {
if (element instanceof IPerspectiveRegistry) {
// return ((IPerspectiveRegistry) element).getPerspectives();
return FunctionFilter.fileteredPerpectives();
}
return null;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
* java.lang.Object, java.lang.Object)
*/
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
//no-op
}
}
这样就过滤了不需要的透视图。
发表评论
-
插件开发——基于Action的基本平台扩展点 二 : viewActions
2011-01-12 16:35 1905org.eclipse.ui.viewActions 通过插 ... -
插件开发——基于Action的基本平台扩展点
2011-01-12 15:31 1339工作台定义了一定数量的扩展点,帮助插件向已经存 ... -
插件开发—— 通过插件扩展工作台
2011-01-12 01:15 1486现在,你应该对工作台的操作和怎样使用视图和编辑 ... -
Eclipse 运行时概述 Part 3 —— 并行框架
2011-01-10 18:11 1366并行框架(Concurrency infras ... -
Eclipse 运行时概述 Part 2 —— 内容类型
2011-01-07 17:59 1457内容类型(Content Type) ... -
Eclipse 运行时概述
2011-01-05 17:45 2428Eclipse 运行时(Runtime)概述 ... -
Eclipse 平台架构
2011-01-05 00:25 28611. Eclipse 平台架构 Eclips ... -
SWT Part 7 —— Graphics (绘图)
2010-12-29 17:04 2842Graphics SWT 提供了一个图形引擎 ... -
SWT Part 6 —— Error Handling (错误处理)
2010-12-29 13:52 1398Error handling SWT 可以抛 ... -
SWT Part 5 —— 多线程
2010-12-22 23:22 2074在使用SWT构建应用程序时,理解系统底层读取和 ... -
SWT part 3 —— Event(事件)
2010-12-22 16:47 3068创建了一个display对象和一些用户界面部件 ... -
SWT Part 2 —— Controls(控件)
2010-12-22 09:26 1938Control (控件)就是我们能够在用户界面上看到的 ... -
SWT —— Standard Widget Toolkit
2010-12-21 16:24 19171.1 SWT— Standard Widget Toolki ... -
Project Builders and Natures In Eclipse
2010-10-29 18:24 2403Project natures allow a plug-in ... -
Web Facet Installation Delegate in WTP
2010-08-25 16:00 1144plugin: org.eclipse.jst.j2ee.we ... -
SWT 日期时间选择控件
2008-12-26 16:18 8085Eclipse 3.3 及 更新的版本 // DateTi ... -
OSGI 资源
2008-03-03 11:25 1897OSGi Alliance | Main / OSGi All ... -
eRCP 嵌入式富客户端平台
2008-01-08 15:55 1814嵌入式富客户端平台,embedded Rich Client ... -
GEF (二) -- 创建模型的可视化视图(Graphical View)
2008-01-04 18:35 2895创建了模型和显示 ... -
GEF (一) -- GEF简介及控制器EditPart
2008-01-04 11:19 3674一 GEF简介 GEF ...
相关推荐
富客户端工作流程是一种在Web应用开发中常见的设计模式,它为用户提供更为丰富、交互性更强的体验。在传统的Web应用中,用户与服务器之间的交互通常是单向的,即用户发送请求,服务器处理后返回结果。而在富客户端...
透视图是Eclipse RCP中的一个重要概念,它定义了工作台窗口中各视图和编辑器的布局。默认情况下,Eclipse RCP提供了标准的透视图切换方式,但开发者可以根据需求进行自定义。下面我们将逐步解析这个过程: 1. **...
《基于Eclipse RCP Email客户端的实现》这篇本科毕业设计论文详细探讨了如何利用Java语言,结合Eclipse插件开发技术、RCP(Rich Client Platform)、EMF(Eclipse Modeling Framework)以及Java Mail工具包来构建一个...
《简单的图书管理系统——Web端与RCP客户端详解》 图书管理系统是信息时代常见的软件应用,它主要用于图书馆或个人藏书的信息化管理。本系统涵盖了Web端和RCP(Rich Client Platform)客户端两种交互方式,旨在提供...
它提供了工作台(Workbench)、视图(Views)、编辑器(Editors)、透视图(Perspectives)等核心元素,帮助开发者组织和管理应用程序的界面布局。 2. **中文语言包的用途** 中文语言包主要解决Eclipse RCP的国际...
《Eclipse富客户端平台 - 第二版》这本书深入探讨了Eclipse RCP(Rich Client Platform)这一强大的开发框架。Eclipse RCP是一个开放源码的软件框架,它为构建功能丰富的桌面应用程序提供了全面的支持。通过利用Java...
**步骤四:在Eclipse RCP视图或透视图中展示数据** 将上述数据库操作与Eclipse RCP UI结合,例如在视图(View)或透视图(Perspective)中显示查询结果。你可以创建一个新的ViewPart并重写createPartControl方法: ...
NetBeans是Java开发环境中的一个强大工具,尤其在构建富客户端应用程序(Rich Client Applications, RCP)方面,它提供了一系列丰富的功能和组件。 1. **Lookup机制**:Lookup是NetBeans平台的核心组成部分,它是一...
《Eclipse富客户端应用开发》一书,由Jean-Michel Lemieux和Jeff McAffer撰写,是基于Eclipse Rich Client Platform(Eclipse RCP)的一份详尽教程。本书旨在教授开发者如何利用Eclipse RCP创建功能丰富的桌面应用...
RCP是Eclipse基金会推出的一种构建桌面应用的框架,其全称为富客户端平台,旨在为开发者提供一个可扩展、可定制的桌面应用程序开发环境。 在RCP产品介绍图片中,我们通常可以看到以下几个关键知识点: 1. **RCP...
### Eclipse RCP+Spring构建富客户端Web程序 #### 摘要 随着技术的发展和用户需求的变化,构建高效、响应迅速且用户体验良好的客户端应用变得尤为重要。传统的Web 2.0和丰富的互联网应用(RIA)虽然流行,但在某些...
**基于Eclipse RCP实现的邮件管理客户端rcpmail详解** Eclipse Rich Client Platform (RCP) 是一个用于构建桌面应用程序的开源框架,它提供了一种灵活且强大的方式来开发功能丰富的应用程序。rcpmail是基于Eclipse ...
**RCP客户端与Erlang技术详解** 在IT领域,远程过程调用(Remote Procedure Call,简称RPC)是一种计算机通信协议,它允许程序在分布式环境中调用另一个程序定义的子程序,而无需了解网络协议的细节。RCP客户端是...
标题 "rcp perspective" 涉及到的是Eclipse Rich Client Platform(RCP)中的一个核心概念——透视图(Perspective)。透视图是Eclipse IDE和基于RCP的应用程序中的一个重要组成部分,它定义了工作台窗口中显示的...
在Eclipse这样的集成开发环境中(IDE),透视图(Perspective)是组织工作空间的重要方式,它定义了不同类型的编辑器、视图和控制台的布局,以适应不同的开发任务。例如,Java开发者可能会使用Java透视图,而数据库...
在这个特定的项目中,我们看到的是一个使用Eclipse RCP开发的简单MySQL客户端工具的介绍。这个工具可能是为了方便用户在Eclipse环境中直接管理和操作MySQL数据库。 在描述中提到的“右键打不开数据库表”的问题,...
《Java Filthy Rich Clients》是一本专为Java开发者设计的书籍,旨在帮助他们构建富客户端应用,即那些具有丰富用户界面(UI)和高度交互性的应用程序。这本书通过一系列经典实例,深入浅出地展示了如何利用Java平台...
透视图是 RCP 中的一种重要的扩展点,插件可以通过定义自己的透视图来提供特定的功能。在 Eclipse 中,透视图是通过 org.eclipse.ui.perspectives 扩展点来实现的。插件需要在 plugin.xml 文件中配置透视图的扩展点...
Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序。它提供了一整套工具和功能,使得开发者可以构建出具有丰富用户界面的应用。在开发完成后,我们需要将这些应用打包并发布,以便用户...
本篇文章将详细介绍如何利用Eclipse RCP开发一个简单的MySQL客户端工具,这对于想要深入理解Eclipse RCP框架以及插件开发的开发者来说是非常有帮助的。 首先,我们需要了解Eclipse RCP的基础。Eclipse RCP的核心...