在我们的项目中,我们开发了一个框架,旨在封装Java web开发的大多数方面。我的客户是其他使用这个框架的程序员。
我们封装的东西之一是JSP标记。我们为所有的东西都创建了自定义标签,这样用户就不需要使用常规的HTML和JavaScript了。现在我正在寻找为这些自定义标记创建GUI-Builder的方法。这意味着某种GUI应用程序允许用户将图形控件拖放到画布上,然后基于此应用程序将生成页面的JSP代码。请注意,我们的自定义标记不仅仅是为了抽象。其中许多控件是由HTML结构和控制它们的JavaScript逻辑组成的可见控件。定制标记(用户在JSP中定义的)的属性有时会影响它的外观和行为。
如果这个工具可以作为Eclipse的插件,那将是一个巨大的奖励。
是否有任何现有的工具允许这样做?
是否有设计模式或最佳实践教程来创建这样的工具?
谢谢!
我曾经开发过一个类似于您所描述的工具。在我们的例子中,我们想要一个拖放GUI工具来为我们的服务器创建RDBMS(表、列、关系)模型。我们使用了eclipse GEF插件。
GEF(图形编辑框架)是一个非常成熟的框架,它允许您构建一个拖放图形编辑器。你可以创建一个调色板,定义不同的形状,将不同的形状与不同的内部"模型"相关联,定义不同类型的连接器,定义当你把一个形状拖拽到编辑器中时需要做什么等等,当我在做它的时候,我们把我们的工具构建成一个普通的eclipse插件(在GEF插件之上),并把它部署到eclipse上。那时,Eclipse RCP框架才刚刚起步。
http://www.eclipse.org/gef/我的经验是与GEF,我很确定GEF会做你的工作。下载演示并浏览代码后,您将了解开发自己的图形编辑器需要做些什么。
还有一个叫做GMF(图形建模框架)的eclipse项目。GMF构建在GEF和EMF之上,并提供了更高级别的工具来构建图形化编辑器,将其与源代码编辑器关联(您在一个选项卡上有"图形视图",在另一个选项卡上有"源视图")等。GMF是一种为你管理GEF管道代码的"高级"框架。
http://www.eclipse.org/modeling/gmp/?project=gmf-tooling gmf-tooling
请注意,上述两个框架都需要一些时间和努力才能理解。GEF有很好的文档。
如果您正在创建一个Eclipse插件,那么您正在创建一个多页面编辑器。一个(或多个)页面用于GUI,另一个页面用于生成的代码。
当您第一次构造Eclipse插件时,您遇到的一个多页面编辑器是MANIFEST的编辑器。MF文件和plugin.xml文件。这是一个多页编辑器,生成两个代码文件,而不是一个。
Eclipse for RCP and RAP Developers将帮助您启动Eclipse插件。
- 打开Eclipse,并切换到您想要用来开发插件的工作空间。在Eclipse菜单栏中,左键单击File -> New -> Project…在New Project对话框中,打开Plug-in Development文件夹,并左键单击Plug-in Project。
- 左键点击Next按钮。 在Plug-in项目对话框中,为项目指定一个名称。您可以在对话框的其余部分接受默认值。
- 左键点击Next按钮。
- 在Content对话框中接受默认值,然后左键单击Next按钮。在模板对话框中,左键单击"插件与多页编辑器"。
- 左键点击完成按钮
Eclipse javadoc位于Eclipse帮助平台插件开发人员指南->参考-> API参考。
为了帮助理解Eclipse javadoc,您需要一个好的教程。Vogella教程非常好。
如果您有关于Eclipse插件的特定问题,您可以在Stack Overflow上询问。