![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SWT/JFACE/PLUGIN
核桃科技
这个作者很懒,什么都没留下…
展开
-
选择workspace中的文件对话框
[code="java"]ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new WorkbenchContentProvider()); dialog.setInput(ResourcesPlugin.getWorkspace())...2011-04-09 17:57:46 · 102 阅读 · 0 评论 -
SWT窗口范围内的Lost Focus事件的实现
文章转自:http://blog.csdn.net/shrekmu/archive/2007/10/16/1826993.aspx 一、问题 SWT中如果添加一个Lost Focus事件后,会发现当窗体切换、最小化窗体等事件发生的时候都会激发Lost Focus事件,这显然不过友善。传统意义上的Lost Focus事件应该是只有焦点迁移到单前窗体中的某个空间的时候才需要激发Los...原创 2009-09-02 17:03:18 · 169 阅读 · 0 评论 -
EclipseRCP开发之如何让表格中的各列随表格的变化始终充满整个表格
[img]http://p.blog.csdn.net/images/p_blog_csdn_net/kevin99zhang/55555555.BMP[/img]先定义一个类:AutoResizeTableLayout.java[code="java"]package com.winscad.util;import java.util.ArrayList;import j...原创 2009-09-02 17:01:18 · 109 阅读 · 0 评论 -
EclipseRCP开发之如何让左右两边两个表格协同滚动
出自:http://blog.csdn.net/kevin99zhang/archive/2007/10/25/1843463.aspx 有这样一个需求,左右各一个表格,要求拖动其中任意一个表格中的滚动条,另外一个都随之滚动,看起来就像是在一个表格中。具体实现如下:[code="java"] /** *//** * 设置左边(右边)表格的滚动条根据右边(左边)滚...原创 2009-09-02 16:58:16 · 167 阅读 · 0 评论 -
EclipseRCP开发之屏蔽视图上的右键菜单
在ApplicationWorkbenchWindowAdvisor类中加上如下方法:[code="java"]//屏蔽视图上的右键菜单 public void postWindowOpen() { PlatformUI.getWorkbench().getDisplay().addFilter(SWT.MouseUp, new L...原创 2009-09-02 16:40:14 · 117 阅读 · 0 评论 -
方便管理plugin或rcp的icons
From:http://blog.csdn.net/moneyice/archive/2006/04/25/677423.aspx 每个UI程序都离不开图片,一般的Eclipse插件,在一个类中定义了若干静态常量,每一个常量指定一个icon的名字,在程序中用到图片的时候,通过这个常量计算得到图片。Eclipse的插件一般规模较大,图片很多,而且分不同的像素,彩色,灰白等。这样有利...原创 2009-09-02 16:29:40 · 92 阅读 · 0 评论 -
RCP应用程序工具类编写小结
转自:http://jesse-dht.iteye.com/blog/28345我们在开发rcp应用程序的时候,有许多可重用的方法。因此,我们定义了Eclipse工具类,以方面在开发的过程中能够直接调用,加强了代码的可重用性,同时也方便了项目小组成员来使用这些重用的方法。[code="java"]package com.jdenght.rcpstudy.util; impo...原创 2009-09-02 16:27:42 · 73 阅读 · 0 评论 -
在Eclipse RCP中使用ResourceNavigator
文章转自:http://www.cn-java.com/www1/?uid-550649-action-viewspace-itemid-4217Eclipse 的资源浏览器很强大,可以很方便的查看工作空间中可供适配的资源,并且提供了对排序、过滤等功能的支持。Eclipse的RCP项目组不赞成我们在富客户端应用程序中使用ResourceNavigator,原因是ResourceNaviga...原创 2009-09-02 16:05:35 · 101 阅读 · 0 评论 -
给RCP系统添加全局快捷键
文章转自:http://www.blogjava.net/chengang/archive/2006/04/28/43873.html一个RCP系统,给它添加一个象Eclipse中Ctrl+Shift+O一样的全局快捷键,怎么加?参考了RCP的Email项目示例,给我RCP项目中MonitorAction(显示一个监视器的命令)添加一个快捷键Ctrl+1。简单把添加的过程概述如下:...原创 2009-09-02 16:03:21 · 123 阅读 · 0 评论 -
SWT:实现自我绘制的Button组件
本文来自Java天下社区:http://www.javatx.cn/index.jsp由网友spider 发表在JavaGUI版 在所有SWT组件中,Button几乎是最常用的,其功能在对于一般的情况来说也足够丰富了。你可以为Button组件设置要显示在其中的文本或者图像、设定ToolTip,甚至只要修改一个风格样式就能得到一个看上去相当不错的方向箭头按钮。 然而,...原创 2009-09-02 15:59:53 · 103 阅读 · 0 评论 -
SWT中打印图片、图像
本文转载自:http://www.blogjava.net/Javawind/articles/129899.html[code="java"]//Send questions, comments, bug reports, etc. to the authors://Rob Warner (rwarner@interspatial.com)//Robert Harris (r...原创 2009-09-02 15:54:49 · 100 阅读 · 0 评论 -
设置工程下的lib目录能被工程识别
大家都知道plugin.xml是RCP工程的核心文件,它起着全文配置的作用,大家新建的lib目录按照规范应该是与源代码SRC同路径的,也就是在工程之下,所以我们就在这个文件里做手脚了,怎么做呢?首先就是要工程认识lib,怎么认识呢?就是在build.properties里的bin.includes里添加就完了,includes顾名思义,就是包含了,大家都知道build.properties就是用来...2009-08-17 10:14:41 · 53 阅读 · 0 评论 -
实现Eclipse自身的log管理
做插件开发的都知道当应用跑不起来了就去看看workspace里的.log文件,错误信息很详细,那样解决问题就方便多了,这个功能很好,所以学习了下,和大家分享下,实现的原理也就一行代码[code="java"]Platform.getLog(Platform.getBundle(bundleID)).log( new Status(serverity, bund...原创 2010-01-14 10:58:33 · 195 阅读 · 0 评论 -
SWT编写界面窗口时让窗口处于屏幕中间
from : http://blog.csdn.net/kevin99zhang/archive/2007/09/30/1807591.aspx一、使用SWT本身[code="java"]import org.eclipse.swt.graphics.Rectangle;import org.eclipse.swt.widgets.Display;import org.ecli...原创 2009-09-02 17:13:45 · 62 阅读 · 0 评论 -
SWT/JFace一些经典技术与算法
转自:http://blog.csdn.net/jackkp_Catus/archive/2007/09/17/1787698.aspx1。图形拖动 图形的拖动就是图形选中的图形跟着鼠标的移动而不断的相应改变位置,这是在图形界面中是经常见的一个操作,但是在SWT/JFace中来实现却不是意见容易的事。在这里底板是一个Canvas,图形也是建立在一个Canvas上,当然位置的改变是建立在...原创 2009-09-02 17:16:03 · 80 阅读 · 0 评论 -
更改TitleAreaDialog窗口的大小
实现TitleAreaDialog中的constrainShellSize方法,在里面写上super.constrainShellSize(); getShell().setSize(350, 200);即可2009-09-02 17:42:24 · 207 阅读 · 0 评论 -
获得当前激活状态的Iproject
[code="java"]/** * 获得当前工程 * @return */ public static IProject getActiveProject() { IWorkbenchPage page = getWorkbenchPage(); if (page == null) { return null; } IWorkbenc...2010-11-30 12:48:36 · 164 阅读 · 0 评论 -
让TableViewer支持Tab编辑
高效的编辑无疑于tab操作,给TableViewer加tab操作其实也不难,jface包下有现成的,我们只需要实现下就可以了,jface包下有个TableViewerEditor,专门处理表格编辑,因此我们用它就可以了,它里面有个create(TableViewer viewer, ColumnViewerEditorActivationStrategy editorActivationStrat...2010-10-16 08:57:37 · 124 阅读 · 0 评论 -
在插件中访问StatusLine
[code="java"]WorkbenchWindow window = PlatfromUI.getWorkbench().getActiveWorkbenchWindow(); IStatusLineManager status = window.getStatusLineManager();[/code]2011-01-17 11:26:30 · 104 阅读 · 0 评论 -
给RCP添加SVN功能
三个步骤:一、下载SVN插件到eclipse;二、给RCP添加SVN依赖:[code="java"]org.tigris.subversion.subclipse.coreorg.tigris.subversion.subclipse.uiorg.tigris.subversion.subclipse.mylynorg.tigris.subversion.clientada...2011-01-03 17:26:49 · 160 阅读 · 0 评论 -
SWT时间选择器
[code="java"]package com.netunit.workbench.test;import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt....2009-09-04 16:50:59 · 290 阅读 · 0 评论 -
Eclipse常用的视图ID
[code="java"]CUIPlugin.CVIEW_IDIPageLayout.ID_RES_NAVIPageLayout.ID_BOOKMARKSIConsoleConstants.ID_CONSOLE_VIEWIPageLayout.ID_PROP_SHEETIPageLayout.ID_PROBLEM_VIEWIPageLayout.ID_OUTLINE...2009-09-04 11:45:47 · 154 阅读 · 0 评论 -
RCP 实现Eclipse Console
首先在Perspective中加上[code="java"]IFolderLayout folderLayout = layout.createFolder("folder", IPageLayout.BOTTOM,0.70f, editorArea);folderLayout.addView(IConsoleConstants.ID_CONSOLE_VIEW);[/code]就可以显示C...2009-09-04 10:33:37 · 168 阅读 · 0 评论 -
RCP的EditorPart保存后焦点控制
from:http://blog.csdn.net/bee2518/archive/2007/09/21/1795390.aspx今天为了实现在EditorPart中保存后,提示“是否继续增加”后,能够初始化数据并实现焦点移到指定TEXT中,必须扩展org.eclipse.ui.internal.SaveAction。仅仅在doSave事件中做txLdlpNo.setFocus();是...原创 2009-09-02 20:11:24 · 74 阅读 · 0 评论 -
保存你的RCP视图状态
from:http://blog.csdn.net/liaojiyong/archive/2007/10/31/1858743.aspx每当做开发的时候,你有可能在一次调试程序的过程中打开很多个编辑器,或是对Eclipse默认的视图布局不满意,手工作了一些调整。如果在工作的过程你因为有事离开或是不小心把Eclipse关掉了,不用担心,在你下次打开的时候,Eclipse仍然会为您记住上次的工作场...原创 2009-09-02 20:09:25 · 120 阅读 · 0 评论 -
RCP中权限与菜单的操作例子
from:http://blog.csdn.net/meteors1113/archive/2009/06/06/4245475.aspx 1. package com.newautovideo.impclient.app; 2. import java.util.ArrayList; 3. import java.util.HashMap; 4. im...原创 2009-09-02 20:07:54 · 193 阅读 · 0 评论 -
在RCP定义状态栏
from:http://blog.csdn.net/moneyice/archive/2006/05/12/726810.aspx 在Eclipse 中,每选中一个文件,底部的状态栏上都会显示出该文件的有关信息。客户端软件通常都会将一些全局的或当前的信息显示在底部的状态栏上。本文将在RCP中添加状态栏功能。 首先,必须在WorkbenchWindowAdvisor. pre...原创 2009-09-02 18:46:11 · 143 阅读 · 0 评论 -
为RCP添加帮助系统
from :http://blog.csdn.net/moneyice/archive/2006/05/10/715795.aspx一款软件,如果希望用户能够快速的上手,完善的帮助系统必不可少。帮助中要包含操作指南,相关的疑难解答,软件的配置,维护等信息。优秀的文档可以节省用户的时间精力,也为维护人员省去了不少麻烦。Eclipse的帮助系统可以说是十分优秀,功能全面,界面美观,操作便利,而...原创 2009-09-02 18:45:14 · 74 阅读 · 0 评论 -
自定义RCP外观
如果说只需要改变RCP的皮肤可以参照IBM上的Eclipse程序界面美化技术[url]http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-rcprich/[/url]如果想自定义RCP的外观就得用到presentationFactories,presentationFactories是eclipse为editor以及view提...2010-01-13 21:52:01 · 118 阅读 · 0 评论 -
SWT GC重绘心得
如果有需求要将Composite的边框颜色改成红色,大家肯定就想到用GC了,先给Composite添加Apaint监听这里我将这种方法称之为一,然后再实现重绘的方法,或者是直接GC gc = new GC(Composite)然后直接画了,将这种方法称之为二,那么我现在就来说说方法二法有什么问题,大家也可以做实验,搞个composite 添加双击事件 双击之后改变机框,相信大家都知道怎么写,然后最...原创 2010-01-13 01:10:13 · 557 阅读 · 0 评论 -
扩展org.eclipse.ui.preferencePages的些许经验
最近参考Eclipse插件开发学习笔记弄起了preference,由于本人比较愚笨,看不太透彻书中所写,吃了很大的亏,我先将上面的代码放到自己的应用中跑起来结果出来了,就知道怎回事了,然后根据需要改成了自己想要的结果。今天写成博文,和大家分享下:首先实现preference得扩展org.eclipse.ui.preferencePages和org.eclipse.core.runtime.pref...2009-11-13 15:28:32 · 228 阅读 · 0 评论 -
Rcp 绝对路径和相对路径的获取
从插件/RCP中取得文件路径1)从插件中获得绝对路径: AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath());通过文件得到Project:IProject project = ((IFile)o).getProject();2)通过文件得到全路...2009-05-08 15:48:59 · 224 阅读 · 0 评论 -
tree初始化为展开状态
上次有朋友在群里问到如何将tree的第一个节点默认展开方法如下:将TreeItem.setExpanded(true);写在添加子节点之后2009-05-06 14:16:58 · 245 阅读 · 0 评论 -
rcp dialog上table右键菜单实例
[code="java"]MenuManager menuManager = new MenuManager(); menuManager.add(new Action("打开保护") { @Override public void run() { MessageBox box = new MessageBox(Display.getCurrent().getAct...2009-04-24 08:45:50 · 107 阅读 · 0 评论 -
给视图添加快捷键
上一篇博文中讲了用扩展的方式添加全局快捷键,现在本文用硬编码的形式来给视图添加快捷键,也很简单:作为示例,这里为“删除”操作增加快捷键支持。为此,需要创建hookKeybordAction()方法,并在createPartControl()调用该方法。首先监听键盘事件[code="java"]private void hookKeybordActions(){viewer.getCon...2009-10-11 02:46:53 · 74 阅读 · 0 评论 -
添加全局快捷键
两种方法:一种扩展,二硬编码首先讲扩展的方法:在插件清单中的“扩展”页面中,添加一个“org.eclipse.ui.commands”扩展点,为什么是commands扩展点呢?原因很简单,就是因为Eclipse引入了命令(Command)的概念。然后,在org.eclipse.ui.commands扩展中创建一个command元素,,在“扩展元素详细信息”可以看到该元素拥有的属性,如下...2009-10-11 02:38:53 · 93 阅读 · 0 评论 -
Eclipse RPC table右键菜单二
[code="java"]private void hookContextMenu() { MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListen...2009-04-14 10:51:19 · 105 阅读 · 0 评论 -
Eclipse RCP table右键菜单一
[code="java"]MenuManager menuManager = new MenuManager(); menuManager.add(new Action("Action") { @Override public void run() { MessageBox box = new MessageBox(Display.getCurrent().getA...2009-04-14 10:47:58 · 176 阅读 · 0 评论 -
让SWT中的text只能输入数字
思路:给Text添加键盘输入事件,判断按下的键的ASCII码代码如下:[code="java"]text = new Text(group_3, SWT.BORDER); text.addKeyListener(new KeyAdapter() { public void keyPressed(final KeyEvent e) { if (!Converts.ch...2009-10-07 14:51:39 · 233 阅读 · 0 评论 -
通过ACTION的ID来获得ACTION
现在又很多需求都需要动态去改变Action的enable/disenable,其实很简单,只需要在构造Action的时候加入setActionDefinitionId(actinDefID);就可以了,然后就可以通过ID来获得Action了getActionRegistry().getAction(actionID); 还有种方法,那就是Map了,运用键值对的关系set进去,这种方法好像是ec...2009-09-28 11:43:17 · 747 阅读 · 0 评论