- 浏览: 255400 次
- 性别:
- 来自: 北京
最新评论
-
aquarion:
非常感谢,解决了我的问题
Perspective 自定义设置扩展点 -
zheng_zhen:
好文章,进一步问您一下,请问自己实现的run/debug如何能 ...
【原创】Eclipse Launcher (Run/Debug As 菜单扩展)实现 -
salever:
mwdnjupt 写道http://www.xeclipse. ...
浅析OSGI的bundle依赖 -
mwdnjupt:
http://www.xeclipse.com/?p=1165 ...
浅析OSGI的bundle依赖 -
Tom.X:
插件化、模块化应遵循高内聚、低耦合的原则,尽量不要在各bund ...
浅析OSGI的bundle依赖
文章列表
1,计算机系统原理,可参考《深入理解计算机系统》(AMAZON五星图书,最伟大计算机科学教材之一)
2,编译器原理,可参考《编译原理及实践》
3,数据结构与算法,可参考《数据结构与算法分析:C语言描述
》 《算法导论》
4,数据库原理,可参考《数据库系统概论
》
5,程序分析、设计,包括面向对象分析、设计模式
6,软件开发、工程概念
程序员实在是一个很艰苦的职业,不光要回coding,还有茫茫多的相关知识需要掌握,那些只会jsp、asp,用用框架,复制粘贴就说是在进行程序开发的,算得上是程序员么?
代码整理:
使指定根节点的树最大化:
/**
* Make tree max.
*
* @param array
* - source array
* @param i
* - root node index.
* @param length
* - tree length.
*/
private static void maxHeapify(int[] array, int i, int length) {
int left = i * 2;
in ...
自定义 RCP 编辑器和视图标题菜单关闭操作
- 博客分类:
- RCP
编辑器和视图标题的关闭操作特指标题栏
最右方的关闭按钮操作。一般来说编辑器的关闭事件都是自己默认的实现,比如继承了
ISavePart2
的编辑器在
Dirty
属性为
true
时点击这个按钮会出现确定信息框,这个是由
ISavePart2 .
promptToSaveOnClose
()
实现的,一般情况下重写这个函数即可。这种情况下编辑器标题上会出现一个“
*
”号代表当前编辑器有未保存的修改。
多讲一下编辑器默认的保存机制,在工具栏和菜单中有个菜单“
Save
”,这个菜单可以自动根据当前编辑器是否需要保存来切换状态。若不需要保存 ...
编辑器和视图标题中有许多默认的菜单,这些菜单不是由
IEditorPart
或者
IViewPart
控制的,而是通过
AbstracPresentationFactory
来初始化和进行处理的。
Eclipse
提供一个默认的实现——
WorkbenchPresentationFactory
,
核心代码如下:
public StackPresentation createEditorPresentation(Composite parent,
IStackPresentationSite site ...
JDK1.6 API写道
public boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。
equals 方法在非空对象引用上实现相等关系:
自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。
对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true ...
在RCP里,Viewer可以拥有自己的右键弹出菜单,Eclipse提供了2种方式控制弹出菜单,一种是编码实现,另一种是通过扩展点org.eclipse.ui.popupMenus实现。
不管是哪种方式实现,都必须先在Viewer中添加右键菜单(MenuManager),一般在Viewer的createPartControl(Composite parent)中,加入如下代码:
public void createPartControl(Composite parent) {
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_S ...
在RCP开发中,会要求对特定的perspective 进行自定义设置,比如显示、隐藏某个菜单等,这些操作都可以通过在Window菜单下的Customize Perspective 菜单项实现。如果想设定默认的透视图的状态,可以使用org.eclipse.ui.perspectiveExtensions扩展点。
Eclipse Doc写道
This extension point is used to extend perspectives registered by other plug-ins. A perspective defines the initial contents ...
SWT的扩展——org.sf.feeling.swt.win32.extension,允许更多的本地交互,比如访问注册表、访问系统信息、文件系统、系统图标修改、音量控制等。突然发现以前很头疼的问题,用这个jar就可以方便搞定了,也不需要自己写本地代码了。
下载地址:http://sourceforge.net/projects/feeling/files/
附件为一个官方自带example
最近在使用eclipse feature 导出时遇到 "Cannot satisfy dependency" 问题,提示
XXXX requires 'com.ibm.icu [3.8.1.1,4.0.0)' but it could not be found
到导出的目录下看,发现有一个com.ibm.icu_4.0.1.v20090415.jar,为什么还找不到呢?
仔细一看, 原来是版本不对,XXXX需要3.8.1-4.0.0之间的版本,不包括4.0.0,这里是4.0.1的,当然找不到了。
修改方案:在feature的dependencies里,找到 ...
TextField、TextArea也是SWT里常用的控件,接下来我们来模拟它们。
效果图:
上面是TextField,下面是TextArea。
TextField就比较简单了,给Label设一个边框,修改一下背景色,然后绘制一下文字就行了。
TextFieldFigure.java
publi ...
ComboBox是SWT中很常见的空间,在Draw2D里我们又得自己去实现它。
SWT Designer中的效果很好,我们就参考它来实现ComboBox。
先看看效果:
拆分一下,Combo主要为两部分:左边的输入选择栏和右边的箭头式按钮。右边的按钮又是一个图片了,而左边的文字,直接绘制上去得了。
ComboBoxFigure.java:
public class ComboBoxFigure extends Label {
private static final Image IMAGE = createImage("icons/combobox.gif& ...
如果说Draw2D里内置了Button,我们其实直接用就行了,那么这里的RadioButton就彻底需要我们自己实现了。Draw2D只提供了CheckedBox的实现,鉴于CheckedBox与RadioButton的相似性,参考CheckedBox的实现就很容易模拟出RadioButton的效果了。
这两个按钮的实现其实很类似,就是前面显示的图形不一样,一个圆形,一个方形。这么相似,先用一个抽象类来封装一下共同点。
CheckedFigure.java
public abstract class CheckedFigure extends Figure {
public s ...
SWT Designer 实现了强大SWT/JFace 可视化编辑功能,在Graphical Editor下画出来的图形效果很好,下面就来尝试用Draw2D里面的Figure来模拟一下SWT里常见的控件。
从Button开始吧。
图形编辑的时候,Button看起来就是一个凸起的图形,加上一个字符描述。
图中第二个就是真实的Button,而第一个是用Draw2D 绘制的,并没有处理按键行为,仅仅是模拟外观,在图形编辑时就够了。
public class ButtonFigure extends Label{
public ButtonFigure(){
...
受软件工程“最简单的即最好的”思想的影响,某一直对算法这些东西不感冒,然后随着编程的深入,觉得有必要好好整理、学习一下这方面的知识了。毕竟算法是基础。下面针对三种最常见的O(N*N)时间复杂度的算法进行了测试,顺便分析一下它们的性能,以便加深理解。(MergeSort是归并排序,用来参考)
测试代码为:
public static void main(String[] args) {
int length = 100000;
testInsertSort(length);
testInsertSortWhenSorted(lengt ...
JVM中的class文件校验器,用于保证装在的class文件内容正确,以及它们之间协调一致。它主要负责确保程序执行的安全性,遇见非正常的class文件时,它会提示异常,并阻止JVM运行这些可疑文件。
class文件由字节码组 ...