我正在做一個Java項目,我有一個形狀的集合,我需要給每個形狀不同的顏色。 例如在集合中我有正方形和矩形,然後我需要畫紅色的方塊和藍色的矩形。我正在考慮將shape設置爲graphics2D,但我不能。如何看待一個形狀作爲一個圖形2D
回答
形狀和Graphics2D的概念是完全正交的 - 您無法將Shape看作是Graphics2D對象,因爲它不具有任何意義,因爲形狀是點和Graphics2D的集合對象就像一支畫着點的畫筆......他們只是不會攪動。此外,一個Shape在整個程序中仍然存在,而一個Graphics對象可以隨JVM的意願而交換,而這完全超出了你的控制範圍。
解決方案:徹底重新思考自己在做什麼,但不要咆哮這棵樹,因爲它只會導致痛苦。如果您需要更多幫助,正如我們之前建議的,請發佈sscce。另外,如果你想連接一個Shape與一個顏色,那麼考慮創建一個包裝類,它將Shape對象和Color對象保存在一起。另一種選擇是使用Map<Shape, Color>
。
謝謝,但我無法做到,我可以發佈的最多的是我之前發佈的內容;我用言語解釋它,但是爲了讓我可以編譯的代碼無法訪問,但是謝謝你試圖幫助我 –
@vilal_我還沒有看到你甚至嘗試創建sscce。爲什麼不嘗試,因爲你沒有任何損失。在你這樣做之前,我擔心你可能會繼續得到令你失望的答案,以及讓我們失望的問題。 –
我認爲這一點,如果你沒有代碼開始,那麼你想要的是一個教程不堆棧溢出 –
- 1. 如何繪製一個2D圖形形成一個4D陣列
- 2. 如何創建從一個形狀到另一個形狀的變形效果?
- 3. 畫一個形狀
- 4. 嘗試一個圓形圖像,輸出一個鑽石形狀?
- 5. Slick2d形狀包含另一個形狀
- 6. Excel VBA將一個形狀與另一個形狀比較
- 7. 使用android.graphics.Path從另一個形狀中刪除一個形狀
- 8. MapBox:如何刪除一個形狀並繪製另一個形狀?
- 9. 如何在形狀達到另一個形狀時停止形狀(Android)?
- 10. 如何找到一個形狀是否閉合形狀?
- 11. Visio:如何獲取包含在一個形狀中的形狀?
- 12. 一個圖形
- 13. 當形狀部分透明時,如何在Canvas中從另一個形狀(XOR)切出一個形狀?
- 14. 簡單的Java 2D圖形:繪製一個矩形?
- 15. ProcessingJS作爲一個js圖形庫
- 16. Java - 如何移動一個形狀
- 17. 如何繪製一個CSS形狀
- 18. 在C#上構造一個形狀爲環的形狀
- 19. 設置在另一個形狀上繪製的形狀爲Invisible
- 20. 建立一個形狀類三角形
- 21. 在CSS中製作一個形狀
- 22. 繪製一個Rosetta形狀
- 23. 地圖形狀到另一個按鈕
- 24. 將一個數組當作一個圓形對待
- 25. 如果爲2D遊戲製作圖形集,該怎麼看?
- 26. 我如何使這個形狀爲一個助推器div?
- 27. 從一個數組中的字符形成一個形狀c
- 28. 在另一個矩形內創建一個形狀
- 29. 如何爲一個網站製作一個圓形工具欄
- 30. 圖形2d形狀的動作處理程序?
真的,我們需要一個特定的事情,你已經嘗試做,並有問題提供有用的建議 –
如果你需要更普遍的建議,然後搜索圖形教程。例如http://docs.oracle.com/javase/tutorial/2d/basic2d/ –
作爲您在上一個問題中的狀態,將Shape和顏色細節包裝在代理對象中,這可以讓您攜帶所需的信息集中對象。另外,你可以使用一個HashMap鍵,將其與顏色相關聯,然後在繪畫時查看這些信息。 – MadProgrammer