2013-01-15 21 views
1

在我们的项目中,我们开发了一个旨在封装Java Web开发大部分方面的框架。我的客户是使用此框架的其他程序员。Java:使用自定义标签创建Web应用程序的GUI-Builder

我们封装的东西之一是JSP标签。我们为所有内容创建了自定义标签,因此用户根本不打算使用常规的HTML和JavaScript。

现在我正在寻找如何为这些自定义标签创建GUI-Builder。这意味着某种GUI应用程序允许用户将图形控件拖放到画布上,然后根据该应用程序生成页面的JSP代码。 请注意,我们的自定义标签不仅仅是用于抽象。它们中的许多是可见的控件,包含HTML结构和JavaScript逻辑来控制它们。自定义标签的属性(用户在JSP中定义的)有时会影响其外观和行为。

如果该工具可以成为Eclipse的插件,那将是一项巨大的好处。

有没有现有的工具可以做到这一点?

是否有设计模式或最佳实践教程来创建类似的工具?

谢谢!

+0

嗨@Malki,我正在寻找类似的东西,我还需要与它建立一个webapp?你有没有找到一种方法来建立一个嵌入式GEF或其他类似方法的webapp项目? – eskalera

回答

0

如果您正在创建Eclipse插件,那么您正在创建一个多页面编辑器。一个(或多个)页面用于GUI,一页用于生成代码。

当您第一次构建Eclipse插件时,您运行的多页编辑器之一是MANIFEST.MF文件和plugin.xml文件的编辑器。这是一个多页面编辑器,可以生成两个代码文件,而不是一个。

Eclipse for RCP和RAP开发人员将帮助您启动Eclipse插件。

  • 打开Eclipse,切换到您想用来开发插件的工作区。
  • 在Eclipse菜单栏中,左键单击文件 - >新建 - >项目...
  • 在New Project对话框中,打开Plug-in Development文件夹,然后左键单击Plug-in Project。
  • 左键单击下一步按钮。
  • 在插件项目对话框中,给项目一个名称。您可以接受对话框其余部分的默认设置。
  • 左键单击下一步按钮。
  • 接受“内容”对话框中的默认值,然后单击“下一步”按钮。
  • 在模板对话框中,左键单击“使用多页面编辑器的插件”。
  • 左键单击完成按钮。

Eclipse javadoc位于平台插件开发指南 - >参考 - > API参考的Eclipse帮助中。

为了帮助理解Eclipse javadoc,您需要一个很好的教程。 Vogella教程非常好。

如果您有关于Eclipse插件的具体问题,可以询问Stack Overflow。

+0

我意识到,赏金的重点是引起人们对这个问题的关注,但是你没有回答我的任何问题。正如我所说的,“日食插件”只是一个奖励。我面临的主要问题是如何编写一个能够完成我所描述的工具。我的主要焦点是要么找到一个我可以构建的现有框架,要么找到一个设计模式或最佳实践教程来编写这种工具。 – Malki

+1

我的答案描述你如何开始。你首先必须决定一个平台,然后你可以谈论一个框架。既然你提到了一个Eclipse插件,那就是我开始的地方。如果你得到更好的答案,你可以奖励回答赏金点。 –

1

我曾经在开发类似于您所描述的工具。在我们的例子中,我们需要一个拖放式GUI工具,它可以为我们的服务器创建RDBMS(表,列,关系数据库)模型。我们使用了Eclipse的GEF插件。

GEF(图形编辑框架)是一个非常成熟的框架,允许您构建拖放图形编辑器。你可以创建一个Palette,定义不同的形状,将不同的形状与不同的内部“模型”相关联,定义不同类型的连接器,定义在将形状拖放到编辑器等时需要完成的工作。 ,我们将我们的工具构建成一个普通的eclipse插件(在GEF插件之上)并将其部署在eclipse上。 Eclipse RCP框架当时刚刚开始。

http://www.eclipse.org/gef/

我的经验是与全球环境基金,我敢肯定,全球环境基金将做你的工作。一旦你下载了演示并通过代码,你就会了解开发你自己的图形编辑器需要做些什么。

还有另一个名为GMF(图形建模框架)的eclipse项目。 GMF建立在GEF和EMF之上,并提供更高级别的工具来构建图形编辑器,将其与源代码编辑器相关联(您在一个选项卡上具有“图形视图”,在“源视图”上其他选项卡)等。GMF是一种“高级”框架,为您管理GEF管道代码。

http://www.eclipse.org/modeling/gmp/?project=gmf-tooling#gmf-tooling

小心,无论是框架上面会需要一些时间和精力去了解。全球环境基金有据可查。如果你之前有过eclipse插件开发经验的话,那就更好了。

相关问题