- 浏览: 375562 次
- 性别:
- 来自: 上海
最新评论
-
heshifk:
我今天用这个也遇到了一个问题,当焦点在别的组件上面,也添加了快 ...
SWT 添加全局的监听 -
回归蔚蓝:
好文,归纳的太准确了
Groovy闭包深入学习 -
零度弥合:
写的真好,赞赞赞。
Groovy闭包深入学习 -
yuxg:
顶
Java在Eclipse环境下调用Subclipse接口完成SVN操作(附源码) -
zk1878:
不错,好文
Groovy闭包深入学习
文章列表
偶尔去GEF网站上看看, 发现在GEF的分类下除了Draw2d外,还加了一个项目: Zest. (太久没关注了, 汗~```)
介绍URL: http://www.eclipse.org/gef/zest/
Demo源码URL: http://www.eclipse.org/gef/zest/snippets.php
下面这段是从IBM developerworks抄来的.
引用Zest 是一个轻量级可视化工具包,该工具包将在传统 GEF 编辑器顶部提供类似于 JFace 的包装。Zest 已经在 JFace 之后被模型化,并且所有 Zest 视图都与现有的 Eclipse 视图一样遵守相同 ...
见: http://www.eclipseworld.org/bbs/read-cec-tid-1804.html
确实是好文章, 收藏一下.
寒假我就上网很少了,真的非常不好意思.eclipse中的线程是开发eclipse插件中一个比较重要的基础,而很多书上都没有说,我最后抽时间写了这篇入门文章,希望对大家有帮助.
我先大致讲一讲GUI程序中的线程.
虽然各个操作系统之间的线程机制是不一样的,但是大致是相同的.当用户使用GUI程序时,如果点鼠标或按下键盘上的键等时,操作系统会产生对应的GUI事件,它来决定哪个窗口或程序来接受每一个事件并且放到程序的事件队列中.
任何GU ...
- 2009-01-09 19:23
- 浏览 1879
- 评论(0)
http://dev.eclipse.org/newslists/news.eclipse.platform.swt/msg40029.html
Spinner tempSpinner = new Spinner(parent, SWT.WRAP);
tempSpinner.setLocation(10 ,10);
tempSpinner.setSize(100, 20);
tempSpinner.setMinimum(0);
tempSpinner.setMaximum ...
- 2008-12-29 11:30
- 浏览 2489
- 评论(0)
Display 有这么一个方法:
public void addFilter (int eventType, Listener listener)
具体使用代码:
Display.getDefault().addFilter(SWT.KeyDown, new Listener() {
public void handleEvent(Event e) {
- 2008-12-03 12:26
- 浏览 4953
- 评论(8)
怎么使用ole,网上别人的代码已经很多了. 下面是说怎么得到ole所需要的ActiveX标识符的方法.
[当然, 网上也有很多文章都是说通过查注册表.]
OleFrame oleFrame = new OleFrame(shell, SWT.NONE); // 创建ActiveX
- 2008-11-23 16:51
- 浏览 2911
- 评论(1)
1. 类
a) ContentProposalAdapter
i. 内容建议Adapter类.
b) IControlContentAdapter
i. 内容接口
c) TextContentAdapter, ComboContentAdapter
- 2008-11-16 23:08
- 浏览 3516
- 评论(2)
蛮有趣的历史.
引用在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器 ...
- 2008-11-14 12:32
- 浏览 1358
- 评论(0)
1. 从byte[]得到Image
private static Image createImage(byte[] imageBytes) {
Image image = null;
try {
ByteArrayInputStream bais = new ByteArrayInputStream(imageBytes);
image = new Image(null, bais);
} catch (Exception e) {
e.printStackTrace();
}
return image;
}
2. 从Image得到b ...
- 2008-11-06 17:01
- 浏览 4557
- 评论(0)
功能:
1. 类似一个TableViewer的功能.
2. 可添加一行
3. 可选择一行
4. 可删除选中的行
截图:
见附件:
源代码:
见附件.
运行:
RunApplication.java 右键 Run As -> Java Application
说明:
这个例子其实说的是: 动态控件操作.
通过StructuredViewer的使用, 使得操作完全忽略动态控件生成销毁等细节.
使用熟悉的StrucutredViewer的API.
比如: setInput, setSelection, getSelection等.
- 2008-11-06 10:41
- 浏览 1839
- 评论(1)
AWT
Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包.在任何一个 Java 运行环境中都可以使用它.
AWT 是一个非常简单的具有有限 GUI 组件、布局管理器和事件的工具包.有些经常使用的组件,例如表、树、进度条等,都不支持.
通常对于 AWT 来说(也适用于 Swing 和 SWT),每个事件类型都有一个相关的 XxxListener 接口(XxxAdapter 的实现可能为空),其中 Xxx 是去掉 Event 后缀的事件名(例如,KeyEvent 事件的接口是 KeyListener),用来把事件传递给处理程序。应用程序会为自己感兴趣处 ...
- 2008-11-03 10:36
- 浏览 1896
- 评论(0)
我们最常使用的XYLayout, 控件是可以随意的在四个边框调整大小, 拖拽控件, 有时我们有需要禁止拖拽或调整大小, 具体实现看下面代码.
解决方法1:
在createChangeConstraintCommand中,根据具体情况返回UnexecutableCommand.INSTANCE即可.
具体代 ...
- 2008-11-03 10:29
- 浏览 2295
- 评论(0)
GEF的ContentOutlinePage就是TreeViewer使用的例子.
下面直接贴代码, 有空再进行整理:
第一段代码, 在SWT的Composite的界面上添加一个GEF的TreeViewer.
treeViewer = new org.eclipse.gef.ui.parts.TreeViewer();
treeViewer.createControl(composite);
第二段代码: 设置TreeViewer
treeViewer.setEditDomain(new EditDomain());
RootTreeEditPart rootTreeEd ...
- 2008-10-27 12:38
- 浏览 2408
- 评论(0)
在GraphicalViewerKeyHandler里面会监听 键盘的上下左右的事件, 效果就是选中下一个界面上的控件. 但, 用户要求改成 给当前选择控件 移动位置. [GEF的对于上下左右的默认处理比较怪, 和一般的编辑器不一样的效果, 用户要求修改是正常的.]
下面贴主要代码:
getGraphicalViewer().setKeyHandler(new GefViewerKeyHandler(getGraphicalViewer()).setParent(this.sharedKeyHandler));
GefViewerKeyHandler 就是继承于GraphicalViewer ...
- 2008-10-13 18:37
- 浏览 1982
- 评论(1)
效果图 和 源代码:
效果图
源代码 点击下载.
注: 代码在JDK1.5, Eclipse3.2 和 Eclipse3.4均可使用.
选择运行: TxtApplication.java 即可
关键代码:
字体:
StyleRange.font = Font;
粗体:
StyleRange.fontStyle = SWT.BOLD;
斜体:
StyleRange.fontStyle = SWT.ITALIC;
下划线:
StyleRange.underline = true;
删除:
StyleRange.strikeout = true;
前景色:
StyleRange.for ...
- 2008-10-13 09:57
- 浏览 3778
- 评论(1)
在PropertySheetPage显示的属性中, 如果需要自定义属性显示的上下顺序, 就需要给PropertySheetPage添加一个PropertySheetSorter, 从而决定属性显示的上下顺序.
protected void setSorter(PropertySheetSorter sorter) {
但是, 这个方法是protected的, 所以, 只有在给Editor添加PropertySheetPage的时候, 需要使用比较脏的方法给PropertySheetPage 设置一个sorter了.
我的做法如下:
propertySheetPage = new Pr ...
- 2008-09-26 10:44
- 浏览 3518
- 评论(0)