将处理项目移至Eclipse

问题描述 投票:3回答:2

我已经在一个Processing项目上工作了一段时间,现在想将其移至Eclipse。我已经在Eclipse环境中安装了Proclipse。

我有很多扩展名为“ .pde”的文件。但是,Proclipse文件都以“ .java”结尾。所有pde文件都存在很多依赖关系问题。我应该如何转换我的项目?

================

谢谢大家!似乎没有一键式解决方案,我按照类似于George答案的方法重构了所有代码。另外,将所有文件扩展名从“ .pde”更改为“ .java”。

java eclipse migration processing environment
2个回答
2
投票

Jose的建议很好。 Proclipsing已经使创建Processing项目变得容易。

使处理代码在Eclipse中运行的最简单(但不是最干净的方法是采取以下步骤:

  1. 将代码从主选项卡复制到Proclipsing生成的类中,该类扩展了PApplet(删除了默认/现有的空setup()和draw()函数),但仍在类的范围({})之内
  2. 通过粘贴的代码(设置/绘制/ keyPressed / keyReleased / mousePressed /等)使处理功能公开(例如,public void setup(){//etc.代替void setup(){//etc.
  3. 将其他选项卡中的其余代码粘贴到Proclipsing生成的同一个Java类中
  4. 在浮点类型值上附加'f'(显式浮点标志)(例如3.0变为3.0f
  5. [如果您使用的是库,Proclipsing应该可以帮助您:在项目上单击鼠标右键,然后转到Proclipsing项目属性。如果您已经设置了到Processing文件夹的正确路径(例如Documents / Processing),那么额外的库将在那里,因此您只需要勾选/启用它们即可。否则,您将需要手动复制每个库的.jar文件并将其粘贴到项目的lib文件夹中,然后右键单击eclipse中的.jar文件,然后选择Build Path> Add to Build Path

更新使用Processing的Export Application功能,这是一种稍微简单的方法。我将使用来自示例>主题>模拟>植绒中的Daniel Shiffman的Boids示例来解释此工作流程,因为它具有多个选项卡和类。

  1. 导出应用程序。这将生成一个应用程序文件夹,其中包括带有Flocking.java的源文件夹(如上所述,Processing实际上将所有选项卡捆绑到一个.java类中)
  2. 创建一个新的Proclipsing项目
  3. package语句之后,将处理中生成的类的代码粘贴到Proclipsing生成类中。做]
  4. 更新底部的静态main方法以使用完全限定的类名称(因此,类名称以包名称为前缀)

至此,大多数错误都应该消失了。立即尝试将代码作为Java应用程序运行。

问题是,此时您有一个庞大的类,仍然很难维护,这可能是您要在第一名上黯然失色的原因。现在是时候重构(重构代码)了,幸运的是eclipse有一些很棒的工具。如果您看到重复的代码,那么该函数是最佳选择。您可以尝试选择该代码,右键单击,然后选择Refactor> Extract Method。可以将重复代码中更改的值提取为自变量/参数。

内部类应移至新的.java文件,如果您在这些类中使用处理特定功能,则可以有多种选择:

  1. 将PApplet作为参数传递给这些类(例如,Jose's Processing in Eclipse文章链接建议)
  2. 使用PApplet的静态方法(例如PApplet.map()代替map()
  3. Implementing PConstants in class
  4. 如果类仅处理Processing中的图形,则传递渲染器(PGraphics)>
  5. 最重要的是,尽管您应该熟悉Java(从头开始编译HelloWorld程序,这将对Processing的内部类有所启发),尤其是一些OOP概念(组成,继承以及可能的一些基本设计模式(例如将来的访问者或MVC)。如果您对这些概念不熟悉,当然可以这样做:)

更新

用于简化的简化更新指令现在可以作为video here使用。前两分钟说明了基本过程,其余部分介绍了上面提到的一些重构概念。

4
投票

在此单击http://www.learningprocessing.com/tutorials/processing-in-eclipse/链接,您可以找到有关此主题的所有内容的详细说明。


0
投票

我在github上添加了一个使用eclipse JavaFX和处理3的示例项目

© www.soinside.com 2019 - 2024. All rights reserved.