2014-10-08 26 views
2

我一直在Processing工作了很長一段時間,我很清楚它是如何工作的,我怎樣利用它來獲得我想要的每一次。問題是我很快可能會開始一個高質量的項目,而我不想通過Processing手動對按鈕或滑塊等事物進行硬編碼,而Java API(如Swing)可以快速完成工作,拖動& 。任何類似於Processing的Java繪圖API?

鑑於我從來沒有加入Processing和Swing,並且聽到有人說這兩者不能很好地協同工作,也許有人可以給我的未來提供任何類似Processing的庫在簡單的繪製方法方面),並與Java很好地結合,因此可以很容易地編寫由表格,按鈕,滑塊,yada yada等組成的「預製」部分以及其他我們可以稱之爲「遮陽板」的圖形在用戶對控件的操作時繪製。

如果有什麼不明白的地方,我可以嘗試更好地解釋自己,但是肯定有一個人(我希望至少)知道易於綁定和使用Swing的圖形庫。提前致謝!

+0

我認爲你可以使用Processing作爲一個Java庫,從Java程序。 – 2014-10-08 13:08:14

+0

是的,的確,但在與Swing合作時遇到了一些問題,至少從我看過的內容來看。我在嘗試tho時沒有問題,但是如果有一個內置的解決方案或其他庫可以正常工作或與Java8高度集成,我不會介意使用它。 – tontonton 2014-10-08 13:40:47

回答

3

我不同意其他答案,所以我會發布我自己的。

首先:只要您在Swing中使用Processing,就可以完全混合Swing和Processing。在Processing中使用Swing是不起作用的部分。其次:拖放式GUI構建器對Swing來說是非常可怕的。對於高斯林的愛,請遠離。

第三:JUNG使用Swing,所以它不是Swing的「替代品」。它在Swing之上。

第四:你說過要使用Java,所以指出JavaScript解決方案似乎超出了這個問題。

所有這一切,你可以絕對使用Processing作爲Java庫。您可以將它與Swing或JavaFX混合使用,只要您將處理內置於Swing/JavaFX中,而不是其他方式。

處理草圖 AWT組件(AWT是Swing之前的GUI庫)。具體來說,它是Applet的一個子類。你可以在Swing或JavaFX中放置一個AWT組件(包括你的草圖)。問題在於,當你轉向另一種方式時:例如,在Processing草圖中不能放置Swing JButton。換個方式(這是你想要做的)雖然很好。

+0

非常好的答案投票了,你可以添加更多的信息關於如何把Swing裏面的處理?每一個在線教程都會以相反的方式做到這一點,並且我已經體驗過如何使用crapy ... – 2014-10-08 16:42:34

+1

@JoseGonzalez [Here](http://processing.org/tutorials/eclipse/)是集成處理作爲Java庫。一旦你有這個工作,你可以把你的PApplet作爲任何其他的Swing組件。 – 2014-10-08 16:46:05

0

您可以使用WindowBuilder插件在IDE中像Eclipse一樣拖放擺動組件。

對於高級/新創的Swing組件可以使用JavaFX的這隱含在的Java 8中。這裏是鏈接的Java 8 http://docs.oracle.com/javase/8/javase-clienttechnologies.htm 有揮杆很多的選擇,比如SWT,SwingX,JGoodies數據,JavaFX的,Apache的樞軸。

對於圖形表示,您可以使用JUNG框架。如果你打算建立網絡類的東西。對於數據表示,您可以使用D3.js(javascript)。

在這裏處理類型的工作D3.js是適合的。 https://github.com/mbostock/d3/wiki/Gallery

+0

感謝您的快速回復。我將看看JavaFX,因爲它是Java的內置組件。它可能會解決在Swing窗口注入加工問題,使開發的系統成爲一體。如果它有一個「自由繪圖」畫布,那就足夠了。 – tontonton 2014-10-08 11:44:28