自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cuseronline的专栏

我想,一个人,若肯花三至五年的时间,专注的去做一件事情,总会有一些成绩的吧。

  • 博客(443)
  • 资源 (3)
  • 收藏
  • 关注

原创 关于WebApplicationContext

WebApplicationContext继承自ApplicationContext,是专门为Web应用准备的BeanFactory(支持Web特性),它允许从相对于Web根目录的路径中装载配置文件,完成初始化工作。从WebApplicationContext中可以获得ServletContext的引用,整个Web应用上下文对象将作为属性放在ServletContext中,以便Web应用环境可以访

2014-06-12 17:31:48 1391 2

原创 Eclipse:Android开发中如何查看System.out.println的输出内容

Android开发中在代码中通过System.out.println的输出内容不知道去哪了,在console视图中看不到。而通过Log.i之类的要在Logcat视图中看到,夹杂了太多的其它App及底层的信息,看起来并不明朗。其实也是可以看到的。可以在Logcat视图中新建一个Message Filter。操作如下:在Logcat窗口下单击绿色“+”;Filter Name:sy

2013-01-24 16:53:06 7892 2

原创 解决virtualbox安装ubuntu server时,Unable to boot – please use akernel appropriate for your CPU错误

环境:os:win7virtualbox:4.1.10ubuntu server:12.04使用virtualbox安装ubuntu server时,报如下错: This kernel requires the following features not present on the CPU:Unable to boot – please use aker

2013-01-23 09:50:32 2765

原创 SWT Table:获取表格所选中单元格所在行和列

以前公司同事问到这个问题,顺便看了一下API,在这里记一笔。eg:final TableCursor cursor = new TableCursor(table, SWT.NONE);cursor.addMouseListener(new MouseAdapter() {public void mouseDown(MouseEvent e) {int row =

2013-01-14 11:23:42 4756

原创 android项目的结构

android项目的结构project    src   gen   assets   res         drawable-hdpi drawable-ldpi drawable-mdpi layout values   AndroidManifes.xml   project.properties   proguard.cfg

2013-01-11 10:29:07 674 2

原创 windows下android开发环境搭建

step1:安装jdk并配置JAVA_HOME,PATH,CLASSPATH属性在PATH中追加"%JAVA_HOME%\bin"CLASSPATH设置一个"."即可step2:安装eclipse直接解压缩至某目录即可step3:使用link方式安装adt插件step4:下载并安装android sdk从http://developer.

2013-01-05 16:39:41 563

原创 GCC选项_持久总结更新

1.-gLevel  产生符号调试工具(GNU的gdb)所必要的符号信息eg:gcc -g3 HelloWorld.c -o HelloWorld.exe2.-Wall -Wall 开启编译器几乎所有常用的警告──强烈建议你始终使用该选项。编译器有很多其他的警告选项,但 -Wall 是最常用的。默认情况下GCC 不会产生任何警告信息。当编写 C 或 C++ 程序时编译器警告

2012-12-26 17:59:22 741

原创 通过代码重命名Java工程

在我看来,凡是当前eclipse能做的你都做到。有群友问到如何通过代码重命名Java工程。实际上,org.eclipse.jdt.internal.ui.viewsupport.BasicElementLabels.RenameJavaProjectChange 中就是eclipse的实现。重命名工程无非是修改工程IProjectDescription。涉及到两个方面:1.

2012-11-22 11:12:20 964

原创 OSGI:osgi.bundles与osgi.bundles.defaultStartLevel

红色内容来自个人理解,其余来自eclipse helps。英文:osgi.bundlesThe comma-separated list of bundles which are automatically installed and optionally started once the system is up and running. Each entry is of the form:

2012-11-05 16:53:29 1862

原创 编译运行xmind3.2源码

XMind是一款顶级 商业品质的思维导图(mindmap)和头脑风暴(brainstorm)软件,2008年“最佳Eclipse RCP商业应用”获奖产品。从2008年10月起,XMind 推出 开源版本,并荣获 sourceforge 社区 2009 最佳学术应用奖。它采用Java语言开发,基于Eclipse RCP体系结构,可以运行于Windows/Mac/Linux平台。其技术构架基

2012-10-26 09:52:50 1763 1

原创 ViewPart的主要方法执行顺序

ViewPart的主要方法执行顺序1.无参构建方法2.init(IViewSite site, IMemento memento)3.init(IViewSite site)4.createPartControl5.setFocus当ViewPart被"X"掉后,会将UI全部销毁,其中disposed是用来销毁用户自定义资源的,可以在这里释放静态资源。重

2012-09-21 13:28:16 1131

原创 自定义Eclipse中点击Propertyies弹出的首选项对话框

自定义Eclipse中点击Propertyies弹出的首选项对话框,我们可以将其用在我们自己的RCP中。步骤如下:1.定义PreferenceDialog,如:public class PropertyPreferenceDialog extends PreferenceDialog  2.完成构造方法。如:private ITreeEntry entry;//传一个树结点

2012-09-19 16:49:38 1019

原创 弹出首选项对话框并定位至指定页面

某些时候,我们的Action的执行依赖于某些配置已经完好才能运行,即要检查环境是否已经配置完好。我们可以这样做:在Action的run中进行判断,然后将用户引导至配置页面进行环境配置。对用户体验是非常好的。public class StartActionDelegate implements IWorkbenchWindowActionDelegate { private IWo

2012-09-19 16:24:31 774

原创 TableViewer,单击首列实现全选与全不选

有时候需要点击表格某列的时候,实现全选与全不选。那么可以将首列文本设置为空来实现这个功能。一般是用在check样式的Table或CheckboxTableViewer上。具体看代码:TableColumn columnCheck = new TableColumn(searchResults, SWT.NONE);              columnCheck.setText(""

2012-09-12 13:46:48 1740 2

原创 将Show In菜单添加至视图或编辑器的右键菜单中

涉及的概念其实只有org.eclipse.jface.action.IContributionItem和org.eclipse.ui.actionn.ContributionItemFactory。本文只给出实现方法。IMenuManager manager =...;MenuManager showInSubMenu= new MenuManager("Show In");

2012-09-11 17:38:06 909

原创 让你的视图(ViewPart)支持Show In请求(2)

本篇博文接上一篇(让你的视图(ViewPart)支持Show In请求(1))。本篇要描述的内容为:当你自己的视图(或编辑器)激活时,显示相应的目标Show In目标视图并为即将show in的目标视图提供数据支持。1.实现org.eclipse.ui.part.IShowInSource接口,并实现public ShowInContext getShowInContext();方法。

2012-09-11 17:35:18 778

原创 让你的视图(ViewPart)支持Show In请求(1)

编辑器和视图都能支持名为Show In的导航操作。这个操作在workbench菜单栏的Navitate菜单的show in子菜单下,UI上的展示可能如下图所示:这一功能通常也会被添加至视图或编辑器的右键菜单中(如何添加在后面的博文中有描述),如下所示:Show In请求,为WrokbenchPart间的交互提供了一种较为通用的方式。本篇,描述的是下面一种需求:将你自己的视图添加

2012-09-11 17:29:11 979

原创 如何自己定义RetargetAction

在Eclipse平台,已经内置了很多RetargetAction,比如save,save as,cut,copy,paste,delete等,同时我们也可以定义自己的Retarget Action,赋予它们自己的语义,通常有2种方式.1.写代码,下面代码来自gef源码: eg1:package org.eclipse.gef.ui.actions;import org.ecli

2012-09-06 22:08:41 851

原创 RetargetAction实现原理简单代码剖析

我们知道,RetargetAction是一个UI占位符,只提供了最简单的诸如id,image,tooltip等信息,真实的Action可以动态的绑定,详细内容在以前的博文中已有论述(在Eclipse开发中使用Retarget Action),今天主要是分析一下其基本原理,和IPartListener接口有关(参见IPartListener与IPartListener2[总结]).先

2012-09-06 21:59:21 817

原创 IResource.isSynchronized(int depth)_用法

通过isSynchronized方法,你既可以査询一个资源的同步信息,也可以查询该资源的成员及该资源的所有子资源的同步信息。eg:bool inSync = folder.isSynchronized(IResourse.DEPTH_ONE);其它的有关深度的选项是DEPTH_ZERO和DEPTH_INFINITE,这些选项在isSynchronized和refreshLocal等方法

2012-09-06 17:56:04 760

原创 IPartListener与IPartListener2[总结]

IIPartListener的应用场景?IPartListener监听WorkbenchPart(包括ViewPart和EditorPart)和生命周期(打开,隐藏,关闭等),当我们想在某WorkbenchPart在这些生命周期发生的触发点上做些事情的时候,此接口正好为你所用。IWorkbenchPage page = ...;//the active partIWorkben

2012-09-05 17:35:35 986

原创 从插件中获取资源的几种方式[总结]_FileLocator

方式一:public static URL getFile(String filename) throws IOException {  System.out.println("get file "  + filename);  //URL installURL = EditorPlugin.getDefault().getDescriptor().getInstallURL();

2012-09-05 17:05:03 1384 1

转载 How do I set a preference value?

ps:内容来自Eclipse Preferences FAQ。代码简单,直接贴了。 1.Through the backwards compatibility layer.Again, all the old APIs exist and are fully functional.String key = ResourcesPlugin.PREF_AUTO_BU

2012-09-04 17:43:30 628

原创 How do I get a preference value?

ps:这篇博文的完成过程异常痛苦,对我来说, 这 块的知识是基本弄明白了。但估计写在这里,能明了的人不是很多,应该是还没有理解得更透彻的原因。不过,如果你真正懂插件,或许能看懂的。1.针对有UI的插件(激活器继承自AbstractUIPlugin),可以通过下面的代码来做:String key = Activator.IS_FALT;Activator.getDefault()

2012-09-04 17:41:57 761

原创 首选项中字体,颜色等属性的存取

首选项中,如boolean,int,String等类型的保存都比较简单,使用的是IPreferenceStore类。但字体,颜色等属性的保存有一些特殊,要访问与 SWT 对象有关的首选项(尤其是 RGB、Rectangle、FontData 和 FontData[] 对象),可以调用jface提供的org.eclipse.jface.preference.PreferenceConverter

2012-09-04 00:41:03 677

原创 初始化首选项的方式[总结]

针对有UI(激活器继承自AbstractUIPlugin)的插件,有2种方式.1.在继承自AbstractUIPlugin的子类中实现initializeDefaultPreferences(IPreferenceStore store)方法.eg:public class Activator extends AbstractUIPlugin { //The shared in

2012-09-04 00:25:22 661

原创 根据给定的IEditPar或IEditorInput获取IFile实例。

根据IEditorInput获取IFile实例 public static IFile getFile(IEditorInput editorInput) {if (editorInput == null) {return null;}        Object o = editorInput.getAdapter(IFile.class);        if (o i

2012-09-03 14:53:51 1848 1

原创 Eclipse Preference scope

Preference是Eclipse平台内置支持的几种持久化(记忆先前的状态)的机制中的一种(其它的还有DialogSettings,IMemento)。本篇主要针对Preference的Scope(范围)进行总结。Preference持久化文件的后缀为".prefs"。The Eclipse runtime defines three so-called scopes. The scop

2012-09-03 12:48:26 1051

原创 为首选项添加PropetyChange事件监听

可以为首选项添加PropetyChange事件监听,设置了新的Property时更新UI部分的显示。eg:Activator.getDefault().getPreferenceStore() .addPropertyChangeListener(new IPropertyChangeListener() { @Override public void pro

2012-09-03 00:10:19 600

原创 Eclipse源码阅读:Add Interfaces

本文和Eclipse源码阅读:Choose Super Class类似, 废话不说,直接看代码吧:  protected void chooseSuperInterfaces() { IJavaProject project= getJavaProject(); if (project == null) { return; } SuperIn

2012-09-02 18:21:55 562

原创 Eclipse源码阅读:Choose Super Class

下午睡了一觉,起来后阅读了New Java Class的部分的代码,对应的向导为org.eclipse.jdt.internal.ui.wizards.NewClassCreationWizard,从New Java Class的功能实现中,我们可以学习到诸如JDT,AST的很多巧妙实现,在后面的博文中,会将自己的阅读心得与大家进行分享,本文只关注于Choose Super Class,如下图用红

2012-09-02 18:13:52 818 3

原创 Eclipse源码阅读:GotoTypeAction

Go To Type是Eclipse的Navigate菜单下的一个子菜单的功能,如下所示:大部分内容和{Eclipse源码阅读:Go To Resource点击打开链接}一样.这里直接贴同分析的核心代码,重点部分添加了中文注释./*****************************************************************************

2012-09-02 17:59:38 795 1

原创 Eclipse源码阅读:Go To Resource

Go To Resource是Eclipse的Navigate菜单下的一个子菜单的功能,如下所示:Go To Resource Action是一个RetargetAction,在org.eclipse.ui.ide插件中定义,plugin.xml中关于此action的定义内容为:<action definitionId="org.eclipse.ui.n

2012-09-02 13:25:33 1460

原创 StructuredViewer的SelectionAll功能是如何实现的

最近有时间就在阅读eclipse源码,今天读了一下Package Explorer视图(所在类为org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart)的内容.我们可以看看其selectionAll是如何实现的.SelectAll效果可能是这样的:即选中所有已展开的树节点.直接贴一下代码吧.package or

2012-09-02 10:19:51 578

原创 Eclipse Workbench Structure分析

IWorkbenchpublic interface IWorkbenchextends IAdaptable, IServiceLocatorA workbench is the root object for the Eclipse Platform user interface.A workbench has one or more main windows which pr

2012-08-31 18:17:58 963

原创 插件开发为Java透视图贡献新建向导时的一个bug(org.eclipse.ui.perspectiveExtensions)

有前同事问到,想在新建向导中添加一个右键菜单,可能是这样:  这种需求通过org.eclipse.ui.perspectiveExtensions扩展点就能办到。eg:step1:实现org.eclipse.ui.newWizards向导 <extension point="org.eclipse.ui.newWizards"> <cate

2012-08-30 17:50:55 1421 1

原创 RCP:为工具栏(CoolBar)贡献右键菜单

群里有网友问到。刚好以前做过。以为RCP的工具栏贡献锁定和隐藏右键为例吧。直接贴代码了。搞插件的,看代码就能明白吧?改写一下ActionBarAdvisor实现类的fillCoolBar方法。 protected void fillCoolBar(ICoolBarManager coolBar) { IToolBarManager toolbar = new Tool

2012-08-30 17:25:02 1521

原创 CompilationUnit包括了PackageDelration,ImportContainer,SourceType

纠正自己一个认识上的误区。IType  createdType = ...;CompilationUnit cu =...;//并不包括package和import部分内容 ISourceRange range= createdType.getSourceRange();IBuffer buf= cu.getBuffer();String originalContent

2012-08-29 17:57:54 1132

转载 Eclipse开发的一些原则

本文系转载,这些原则在经典图书Contributing to Eclipse中详细论述。只是版本很老了,国内几近绝版。在插件开发中,我个人最常用贡献法则,有样学样法则,适配法则。扩展者贡献法则( Contribution Rule ):一切皆是贡献。遵循法则( Conformance Rule):插件必须遵循预期的接口。共享法则( Sharing Rule):增加,不要

2012-08-29 17:39:22 684

转载 Eclipse中的扩展点机制存在的理由

众所周知,Eclipse平台本身就作为一个成功的OSGI应用,从技术层面讲,Eclipse本身就是由OSGI协议驱动的(我想,这句话大家已经听的很多遍了~_~)。同时Eclipse对OSGI组件机制做了有力的扩充,也就是我们所熟知的扩展点(Extension Point)机制,关于扩展点的支持也作为Equinox(Eclipse的OSGI协议实现)一部分呈现给了广大的Eclipse开发者和用户。关

2012-08-29 17:32:48 905

Java工程师修炼之道

Java工程师修炼之道,带书签。高清。花钱买的。

2018-05-28

深入实践SpringBoot

深入实践SpringBoo,高质量,清晰完整版,带书签

2017-05-17

CSS2.0帮助文档

CSS2.0帮助文档,chm格式,可以搜索

2009-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除