通过扩展点实例化类时,默认只能实例化有无参构造函数的类:
下面的代码通过拓展点,通过指定构造函数实例化类
关键是取得拓展插件的classloader:
for (IConfigurationElement ce : points) {
String name = ce.getAttribute(PageExtendPointProvider.PAGE_NAME);
String id = ce.getAttribute(PageExtendPointProvider.PAGE_ID);
String editorId = ce.getAttribute(PageExtendPointProvider.EDITOR_ID);
if (editorId.equals(getEditorId())) {
try {
String className = ce.getAttribute("class");
if (className != null && className.length() > 0) {
Class cls = Platform.getBundle(ce.getNamespaceIdentifier()).loadClass(className);
Constructor cst = cls.getConstructor(new Class[]{FormEditor.class, String.class, String.class });
ExtendPageWithMyDirtySystem page = (ExtendPageWithMyDirtySystem) cst.newInstance(new Object[] { this, id, name });
if(page.shouldLoadPage()){
addPage(page);
extendsPointPages.put(id, page);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
Eclipse 插件实例01是一个基于Eclipse RCP(Rich Client Platform)开发的应用程序,展示了如何在Eclipse环境中创建和使用自定义插件。Eclipse RCP是Eclipse IDE的核心组成部分,它允许开发者构建功能丰富的桌面应用...
【Eclipse程序设计实例教程 电子教案】 Eclipse是一款强大的集成开发环境(IDE),尤其在Java编程领域中占据着重要地位。本教程针对初学者,旨在通过实例教学,帮助学习者快速掌握Eclipse的使用方法和Java编程基础...
Jigloo:Eclipse的GUI构造器使用说明.doc
通过这个“junit_eclipse实例”,学习者可以了解到以下知识点: 1. **JUnit基本概念**:了解什么是单元测试,以及JUnit在单元测试中的作用。 2. **创建测试类**:学习如何在Eclipse中创建一个JUnit测试类,以及如何...
【标题】"eclipse项目spring实例"涉及到的核心技术主要集中在Spring框架、Java编程以及MVC设计模式上,这些是企业级应用开发中的基础组件。Eclipse作为开发环境,提供了便捷的集成开发环境(IDE)支持。 1. **...
本教程提供的"eclipse程序设计实例 源代码"涵盖了Eclipse中的多种编程实践,旨在帮助开发者通过实例学习和掌握Eclipse的使用技巧以及Java编程。 首先,"EclipseBaseExample"这个压缩包子文件很可能包含了基于...
继承Thread类可以直接重写run()方法,而实现Runnable接口则需要在实现类中定义run()方法,并将实现类的实例传递给Thread类的构造函数。 在Eclipse环境下,开发者可以方便地创建和管理Java项目。项目中可能包含多个...
- **实战演练**:本压缩包中的"技能百练"包含了一系列的Eclipse使用实例,涵盖了上述各知识点,通过实际操作,加深理解和记忆。 学习Eclipse不仅要掌握基础操作,还要不断实践,通过解决实际问题来提升技能。"技能...
windows下eclipse跑junit报错:CreateProcess error=206后面跟着乱码。 把这个jar替换掉就好了,放在:eclipse/plugins/下面。 参考:https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
3. **实体类设计**:学习如何创建表示数据库表的Java类,使用Hibernate的注解(如@Entity、@Table、@Id等)来定义对象-关系映射。 4. **映射文件**:虽然使用注解可以简化映射,但理解`.hbm.xml`文件的结构也很重要...
通过这两种方法,你可以方便地在Eclipse中快速生成构造函数,提高编程效率。这有助于保持代码的一致性和规范性,同时减少手动编写构造函数可能导致的错误。 需要注意的是,生成的构造函数通常会自动处理属性的初始...
本书"《Eclipse编程技术与实例》"旨在为初学者提供一个系统且实用的学习平台,帮助他们快速掌握Eclipse的使用技巧和编程方法。 1. **Eclipse基础知识** - **安装与配置**:讲解如何下载Eclipse IDE,以及如何根据...
总之,通过这个"GEF入门实例代码2",开发者可以了解到如何在Eclipse中构建一个基于GEF的图形编辑器,这不仅涉及数据模型的设计,还包括视图的绘制、用户交互的处理以及可撤销/重做机制的实现。通过实践,开发者可以...
Eclipse SWT Form开发实例代码是面向Java开发者的一个宝贵资源,主要关注于使用Eclipse插件开发框架中的SWT(Standard Widget Toolkit)来构建图形用户界面(GUI)。SWT是Eclipse提供的一种轻量级的GUI库,它允许...
在这里,它可能包含了实现Eclipse SWT和JFace实例的类。每个实例可能是一个独立的功能模块,例如,展示如何使用SWT控件、如何创建对话框、如何实现数据绑定等。 "firstSWT"可能是第一个SWT示例的目录或文件,通常...
- 安装Eclipse:Eclipse需要JDK才能运行,因此请在安装前先安装JDK。 完成上述步骤后,我们的开发环境就已经准备好了。 2. 开发Web项目 2.1. 新建Web项目 在Eclipse中创建新的Web项目非常直观。可以通过菜单栏...