是否有类似于处理的Java绘图API?

是否有类似于处理的Java绘图API?,java,swing,api,drawing,processing,Java,Swing,Api,Drawing,Processing,我已经工作了很长一段时间了,我非常了解它是如何工作的,我如何利用它每次都能得到我想要的东西。问题是,我可能很快就会开始一个高质量的项目,我不想在Java API(如Swing)快速完成工作时,通过处理手动硬编码按钮或滑块之类的东西 考虑到我从来没有加入过Processing和Swing,并且听到人们说这两种技术不能很好地结合在一起,也许有人可以给我的未来一点启示,给出一个类似于Processing的库的任何技巧(就简单的绘图方法而言),并与Java很好地结合,因此编写一个包含在表中的“预制”部分

我已经工作了很长一段时间了,我非常了解它是如何工作的,我如何利用它每次都能得到我想要的东西。问题是,我可能很快就会开始一个高质量的项目,我不想在Java API(如Swing)快速完成工作时,通过处理手动硬编码按钮或滑块之类的东西

考虑到我从来没有加入过Processing和Swing,并且听到人们说这两种技术不能很好地结合在一起,也许有人可以给我的未来一点启示,给出一个类似于Processing的库的任何技巧(就简单的绘图方法而言),并与Java很好地结合,因此编写一个包含在表中的“预制”部分很容易,按钮,滑块,雅达雅达。。。另外,我们可以称之为“visor”,其中图形是根据用户的操作和控件绘制的


如果有什么不明白的话,我可以试着更好地解释我自己,但一定有人(至少我希望)知道一个图形库,它很容易绑定并与Swing一起使用。提前谢谢

您可以使用WindowBuilder插件在IDE(如Eclipse)中拖放swing组件

对于高级/新的Gen swing组件,您可以使用JavaFX,它隐式地包含在Java8中。这里是Java8的链接。 swing有很多选择,比如SWT、SwingX、JGoodies、JavaFX、ApachePivot

对于图形表示,可以使用JUNG框架。如果你要建立网络之类的东西。对于数据表示,可以使用D3.js(javascript)


这里对于处理类工作D3.js是合适的

注意:我在2014年写下了这个答案。从那时起,在最新版本的Processing中,这一点发生了很大变化。我将把答案留给后人,但如果你在2020年后阅读这篇文章,它可能不再适用

我不同意另一个答案,所以我将发布我自己的答案

首先:您完全可以混合Swing和Processing,只要您在Swing内部使用Processing。在处理过程中使用Swing是不起作用的部分

其次:拖放GUI构建器对于Swing来说是出了名的糟糕。看在小鹅的份上,离我远点

第三:JUNG使用Swing,所以它不是Swing的“替代品”。它在秋千上

第四:您说过您将使用Java,所以指出JavaScript解决方案似乎超出了问题的范围

尽管如此,您完全可以将处理作为Java库使用。您可以将它与Swing或JavaFX混合使用,只要您将处理放在Swing/JavaFX中,而不是相反


处理草图是一个AWT组件(AWT是Swing之前的GUI库)。具体来说,它是Applet的一个子类。您可以在Swing或JavaFX中放置AWT组件(包括草图)。问题是,当您换一种方式时:例如,您不能将Swing JButton放在处理草图的内部。不过,走另一条路(这是您想要做的)也可以。

谢谢您的快速回复。我将看一看JavaFX,因为它是Java的内置组件。它可能会解决Swing窗口中的注入处理问题,使开发的系统作为一个整体工作。如果它有一个“自由绘图”画布,那就足够了。我认为你可以从Java程序中将处理作为Java库来使用。是的,的确如此,但它在使用Swing时有一些问题,至少我看到了。我在尝试tho方面没有问题,但是如果有一个内置的解决方案或其他库可以正常工作,或者与Java8进行了很好的集成,我不介意使用它。非常好的答案请投票,你能添加更多关于如何将处理放在Swing中的信息吗?每一个在线教程都是以另一种方式进行的,我已经体验到它是多么糟糕…@JoseGonzalez是关于将处理集成为Java库的处理教程。一旦你有工作,你可以把你的丘疹作为任何其他摆动组件。