Eclipse 是一个非常棒的编辑器,我更喜欢使用它,但是缺少 Eclipse 的 GUI 设计工具。另一方面,NetBeans 非常适合 GUI 设计。
使用 NetBeans 进行 GUI 设计和使用 Eclipse 进行同一项目中的其他所有操作是否有任何提示、技巧或陷阱?
编辑:我尝试了 Maven,但它似乎不起作用(对我的需要来说太复杂了)。
使用 Netbeans 创建您的 GUI。将 Eclipse .project 文件(如下所示)复制到项目文件夹中,更改 MyProjectName。打开 Eclipse 并将项目导入您的工作区,这样您就可以使用 Netbeans 从 Eclipse 工作区打开项目。现在您可以使用 Netbeans 创建和更改 GUI 并使用 Eclipse 编辑代码。
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MyProject</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
MyEclipse 提供了 Netbeans GUI 编辑器 (Matisse) 与 Eclipse 的集成。
见http://www.myeclipseide.com/module-htmlpages-display-pid-5.html
回应@Tom 我会使用外部构建工具(Maven 2 是我的选择)。我以前在项目上做过这个,只要你不走遍 Eclipse 的 .Xxxx 文件和文件夹,你会没事的。然后,您将获得 Netbeans(与 Maven 2非常好地集成)或 Eclipse 的全部功能,并且还具有外部构建的附加值,它也可以由您的 CI 工具运行。每个人都赢了!
Cloud Garden 制作了一个名为Jigloo的 GUI 编辑器,如果您喜欢这类东西,它会非常好(而且价格非常非常合理)。如果这就是 Eclipse 所缺少的一切,我建议您看一下。Netbeans 用你不允许编辑的源代码做了大量的事情,等等......
我要提到的另一件事是:我使用了像 Matisse 和 Jigloo 这样的 GUI 编辑器来进行超快速原型设计。然而,在 3 或 4 次迭代中,我总是发现自己退回到手工编写布局。我还发现,当我进行快速原型设计时,当我将布局管理器更改为绝对布局并仅放置组件时,我几乎总是更有效率。一旦设计启动凝胶,使用良好的布局管理器(我强烈推荐MiG Layout)通过手动编码实现设计非常容易,并且可以提供更好的结果。
我知道拖放 GUI 布局确实很诱人——但 MiG Layout 对于手工布线 GUI 的效率非常高,而且我怀疑几乎所有开发人员在沿着这条路走下去的一周内都会更有效率。
在netbeans中导入项目创建gui,然后再次在eclipse中打开项目
它可以正常工作
使用 Maven 定义项目依赖项,并使用它为 Netbeans 和 Eclipse 生成项目配置文件。
尝试为 Eclipse 和 Netbeans 保留单独的类目录,因为 Eclipse 不喜欢当外部工具接触它的类时。
一些陷阱:
另一个提示是,您可以使用 Eclipse 创建 Java Bean,然后将它们拖放到 Matisse 编辑器中。这允许您创建自定义 GUI 组件或非 GUI 组件(模型、侦听器等)并将其添加到 Matisse 表单。使用侦听器和模型,您可以指定组件以使用自定义侦听器/模型的实例而不是默认行为。您还可以拖放自定义 GUI 组件并像任何其他 GUI 小部件一样操作它们。
对我来说,使用链接源文件夹效果很好。
我在独立的 NetBeans 项目中构建 GUI——如果他们需要一些简单的类或接口,我使用“链接源”(右键单击 NetBeans 中的项目,选择属性),将这些包含在 NetBeans 项目中。
我的主要项目在eclipse中。这里我再次使用链接源功能链接到 NetBeans 项目(在 eclipse 中右键单击项目,选择“构建路径”,然后选择“链接源”)。
编辑(感谢 Milhous :)):在 eclipse 和 NetBeans 的两个项目中,所有必需的 JAR 文件都需要添加到构建路径(还有 NetBeans 添加的库:例如 beansbinding-1.2.1.jar、appframework-1.0. 3.jar swing-worker-1.1.jar, ...)
现在可以在 eclipse 中重用 GUI 类。还导致需要将 GUI 和逻辑类完全解耦,这没什么不好。