- 浏览: 7331280 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
复习以前使用的技术
package tcprcp;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.ui.IWorkbenchPropertyPage;
import org.eclipse.ui.dialogs.PropertyPage;
import org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog;
/**
*
* @author longgangbai
*
*/
public abstract class PreferenceAndPropertyPage extends PropertyPage implements
IWorkbenchPropertyPage {
private Button btnEnableProjectSettings;
/**
* (non-Javadoc)
*
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
*/
@Override
protected final Control createContents(final Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
container.setLayoutData(new GridData(GridData.FILL_BOTH));
GridLayout layout = new GridLayout();
layout.numColumns = 2;
container.setLayout(layout);
btnEnableProjectSettings = new Button(container, SWT.CHECK);
btnEnableProjectSettings
.setText(StingIDEMessages.PreferenceAndPropertyPage_enableProjectSettingsLabel);
btnEnableProjectSettings.setLayoutData(new GridData(GridData.BEGINNING,
GridData.CENTER, true, false, 1, 1));
Link link = new Link(container, SWT.NONE);
link
.setText("<a>"
+ StingIDEMessages.PreferenceAndPropertyPage_configWorkspaceSettingsLink
+ "</a>");
link.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER,
false, false, 1, 1));
Label label = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
label.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true,
false, 2, 1));
final Composite comp = new Composite(container, SWT.NONE);
comp.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true,
true, 2, 1));
comp.setLayout(new GridLayout());
createCustomContents(comp);
setEnabled(comp, false);
btnEnableProjectSettings.addSelectionListener(new SelectionAdapter() {
/**
* (non-Javadoc)
*
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetSelected(SelectionEvent e) {
boolean selected = btnEnableProjectSettings.getSelection();
setEnabled(comp, selected);
}
});
link.addSelectionListener(new SelectionAdapter() {
/**
* (non-Javadoc)
*
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
@Override
public void widgetSelected(SelectionEvent e) {
String id = getRelatedPreferencePageId();
WorkbenchPreferenceDialog dialog = WorkbenchPreferenceDialog
.createDialogOn(parent.getShell(), id);
dialog.showOnly(new String[] { id });
dialog.open();
}
});
return container;
}
/**
* 创建组件
*
* @param parent
*/
protected abstract void createCustomContents(Composite parent);
/**
* 获取相关的首选项页面ID
*
* @return
*/
protected abstract String getRelatedPreferencePageId();
/**
* 获取项目设置是否已经被启用
*
* @return
*/
protected boolean isProjectSettingsEnabled() {
return btnEnableProjectSettings.getSelection();
}
/**
* 设置可用性
*
* @param comp
* @param selected
*/
private void setEnabled(final Composite comp, boolean selected) {
comp.setEnabled(selected);
Control[] controls = comp.getChildren();
if (controls != null) {
for (Control control : controls) {
control.setEnabled(selected);
if (control instanceof Composite) {
setEnabled((Composite) control, selected);
}
}
}
}
/**
* 设置是否启用项目设置
*
* @param enabled
*/
protected final void setEnableProjectSettings(boolean enabled) {
btnEnableProjectSettings.setSelection(enabled);
}
}
发表评论
-
Equinox OSGi系列之三 Equinox配置参数详解(转)
2013-03-22 15:20 6952Eclipse不提示的解决办法 我们知道,在Eclips ... -
RCP自定义扩展点的应用
2010-05-06 14:21 3036打开plugin.xml文件中Extensi ... -
Nebula 的几个常用的widgets的使用
2010-05-06 14:15 5644package com.easyway.tbs.commons ... -
RCP GridViewer的学习应用
2010-05-05 21:47 4204package com.easyway.tbs.commons ... -
多项编辑页的学习应用
2010-05-05 20:41 2761package com.easyway.plugin.dev. ... -
gef中自身实现的常用功能的原理和实现
2010-04-23 21:35 2378在gef中关于常用功能对应的action在org.eclip ... -
gef中几何对齐功能原理以及实现
2010-04-23 21:34 2745几何对齐功能也是为了方便用户排列图形元素的,如果打开了此功 ... -
gef中打印功能的原理和实现
2010-04-23 21:33 2816在gef中关于打印的功能,采用PrintGraphicalV ... -
gef中采用公共的快捷键功能的原理和实现
2010-04-23 21:27 2561在gef相关的编辑器类中采用快捷键处理器KeyHandler ... -
gef 上下文菜单的应用
2010-04-23 21:26 2872在gef的编辑器视图中添加相关的上下文菜单,经常需要是实 ... -
网上流传的一个RCP Table Grid打印实现原理和局限性
2010-04-22 20:11 3254package com.easyway.tbs.common ... -
gef中编辑图中添加背景图片原理以及实现
2010-04-22 20:01 2920GEF的RootEditPart对应的Figure是一个 ... -
gef中将流程图转换图片复制粘贴原理以及实现
2010-04-22 19:59 2914设计思路如下:将一个gef图元转换为一个图片(create ... -
gef编辑器中需要采用向导页
2010-04-22 19:57 2635在一般的gef编辑器中需要采用向导页,生成一个格式的 ... -
gef中拖动拽动原理以及实现(一)
2010-04-22 19:49 3229gef中拖动拽动原理以及实现 方案一: 创 ... -
gef中添加可折叠调色板原理以及实现(二)
2010-04-22 19:47 3159gef中添加可折叠调色板原理以及实现 中主要的Palette ... -
gef中添加可折叠调色板原理以及实现(一)
2010-04-22 19:45 3150最近心情不好,写 ... -
一个用RCP实现的简单的GEF程序
2010-04-17 22:02 3493最近在学习GEF,本例 ... -
RCP 线程的开发应用
2010-03-16 15:22 2430http://www.blogjava.net/gembin/ ... -
使用Eclipse自带的PropertySheet
2010-03-03 17:36 2714在项目中遇到一些小问 ...
相关推荐
在SWT开发学习中,首先需要理解SWT的基本概念和架构。SWT基于事件驱动模型,通过监听用户的交互操作来更新界面。它的核心类包括Display、Shell、Composite、Widget等,这些类构成了SWT的基础框架。Display代表整个...
在"SWT编程开发学习资料"中,你可以期待获取关于以下几个方面的深入理解和实践指导: 1. **SWT基础知识**:SWT提供了一系列控件,如按钮、文本框、列表、树、表格等,以及布局管理器,如FillLayout、GridLayout、 ...
标题"swt开发包"暗示了这是用于开发SWT应用的资源集合。这个压缩包可能包含了SWT库的jar文件,如`swt.jar`和`swt-debug.jar`,它们分别提供了SWT的标准版本和调试版本。开发者通常会根据目标平台选择合适的SWT库,...
本SWT开发手册将深入讲解如何使用SWT中的基本控件,如按钮、文本和标签,以创建功能丰富的GUI应用。以下是对这些关键控件的详细介绍: 1. **按钮(Button)**:SWT提供了几种不同类型的按钮,包括普通按钮(Button)...
总的来说,SWT 是 Java GUI 开发的一个强大选择,尤其适合那些需要原生外观和高性能的应用。对于初学者来说,理解 SWT 的基本概念、组件体系结构以及如何设置和运行环境是入门的关键。通过学习 SWT,开发者可以创建...
【标题】:“SWT开发”涉及的是使用Standard Widget Toolkit(SWT)进行图形用户界面(GUI)编程的知识点。SWT是Eclipse基金会提供的一种开源Java库,它为开发者提供了与操作系统原生UI组件交互的能力,使得Java应用...
在"基于SWT Browser与Freemarker的Java桌面开发"实例中,我们将探讨如何结合这两种技术来构建现代、动态的Java桌面应用。SWT Browser组件允许开发者在Java应用中集成Web浏览器功能,这样就可以利用HTML、CSS和...
在本教程中,我们将深入学习SWT开发的基本概念和实践技巧。 1. SWT简介: SWT是由Eclipse基金会维护的,它弥补了Java AWT和Swing在与本地系统交互方面的不足。SWT提供了各种组件,如按钮、文本框、列表、树视图等,...
在描述中提到,现在可以通过特定的方法将SWT开发的程序应用于Web环境,这通常涉及到技术上的转换和适应。 将SWT程序移植到Web环境,意味着我们需要将桌面应用的特性转换为适合浏览器运行的代码。一种可能的方法是...
标题 "SWT开发所需jar包" 指的是在Java编程环境中使用SWT(Standard Widget Toolkit)库进行GUI(图形用户界面)开发时所需的Java档案(jar)文件。SWT是Eclipse基金会的一个项目,它提供了一组原生的GUI组件,使...
总的来说,这些学习资料提供了全面而深入的SWT学习路径,从基础到进阶,从理论到实践,对于想要提升Java GUI开发技能,特别是涉及Eclipse RCP开发的人员来说,是一份宝贵的资源。通过系统学习,开发者不仅可以掌握...
SWT/Jface开发入门指南是一篇专为初学者编写的教程,旨在帮助他们快速搭建开发环境并掌握使用SWT和JFace编写图形化应用程序的基本技巧。以下是该教程所涵盖的关键知识点: 1. **SWT和JFace简介**: - SWT全称...
SWT(Standard Widget Toolkit)是Java编程中用于创建桌面应用程序的一种图形用户界面(GUI)工具包..."SWT开发环境与发布.doc"文档和"Demo"文件可能包含了详细的步骤说明和示例代码,建议结合这些资源进行学习和实践。
### Eclipse SWT开发点滴 #### 一、第三方包的引用 在使用Eclipse进行SWT开发时,经常会遇到需要引入第三方库的情况...通过以上知识点的学习,开发者可以更好地理解和掌握Eclipse SWT开发过程中的关键点和技术细节。
**Eclipse开发SWT应用详解** SWT(Standard Widget Toolkit)是IBM开发的一款用于Java GUI编程的开源库,它是JFC/Swing之外的一个选择。SWT设计的目标是提供更高效、更接近本机UI的Java图形用户界面。Eclipse IDE就...
总的来说,这个SWT开发的浏览器项目为我们提供了一个学习和实践如何使用SWT创建复杂应用的好例子。通过对源代码的研究,我们可以深入了解SWT控件的使用,事件驱动的编程模式,以及如何结合Java和SWT实现跨平台的应用...
本包“SWT开发组件demo”聚焦于SWT组件的使用,通过示例代码和详细说明,帮助开发者更好地理解和应用这些组件。 1. **基础组件**:SWT的基础组件包括按钮(Button)、文本框(Text)、单选按钮(RadioButton)、复...
通过阅读"SWT3.7 doc"压缩包内的文档,开发者可以深入学习这些概念,并获得关于如何在实际项目中应用它们的指导。这份文档对于想要利用SWT3.7和WindowsBuilder3.7开发Java GUI应用的程序员来说,是一份极其宝贵的...
SWT(Standard Widget Toolkit)和JFace是Java中用于创建图形用户界面(GUI)的库,主要用于Eclipse插件开发和独立应用的构建。这两个库是Eclipse平台的重要组成部分,提供了一种高效、灵活的方式来创建丰富的桌面...
Java SWT(Standard Widget Toolkit)是Java编程环境中用于创建桌面应用程序的一种强大的图形用户界面(GUI)工具包。...通过学习这一系列教程,开发者可以熟练地利用SWT创建出功能丰富、性能优秀的Java桌面应用程序。