我想創建許多連接小圓形狀的直線。那麼我想在程序中改變線條的顏色和寬度。我正在考慮使用Canvas來做到這一點,但似乎沒有辦法訪問繪製在畫布上的個別形狀,以便在繪製後更改它們的屬性。什麼將是一個簡單的方法來實現呢?java以編程方式更改形狀的屬性
1
A
回答
2
首先,什麼版本的Java和哪個UI工具包? AWT的帆布很愚蠢,甚至不會「記住」你畫的東西;當你最小化和恢復窗口時,它會發送一個paint()
事件,因爲它想要重新繪製。
最簡單的方法(如果您使用的是AWT並粘貼到畫布上),應該有一個您的形狀列表(一個列表中的所有或一個圈子和一個線條,或任何你喜歡的),並讓你的油漆方法將其全部繪製出來。然後更新列表中的對象。完成更新後,請在您的畫布上撥打repaint()
,它會再次爲您撥打paint()
。
0
如果您使用Graphics和Graphics2D函數(如drawRect,drawPolygon,DrawOval等),則不會將圖形繪製到Canvas上。繪製後,它們不再以形狀存在。你只是有一個填充像素的圖像。正如mihi所說,你可能需要跟蹤你想要繪製的形狀,然後在圖像發生變化時重新產生圖像。也許你也可以通過在背景顏色上繪製並重繪變化後的形狀來「解開」你想要改變的形狀。
相關問題
- 1. 以編程方式更改SelectedIndex時更改綁定屬性
- 2. 以編程方式更改UIButton狀態
- 3. 以編程方式更改UIBarButtonItem狀態
- 4. 以編程方式更改形狀的顏色範圍
- 5. 以編程方式更改視圖的可見性屬性
- 6. 以編程方式更改UIBarButtonItem的標識符屬性
- 7. 以編程方式更改UIButton的屬性標題
- 8. 以編程方式更改按鈕的屬性
- 9. 以編程方式更改UITabBarControllers類的tabBar屬性
- 10. 以編程方式在C#中更改窗體ShowInTaskbar屬性?
- 11. Android以編程方式使用形狀
- 12. 以編程方式更新/編輯Magento中的屬性選項
- 13. 以編程方式更改自定義按鈕形狀的顏色
- 14. 以編程方式更新gtalk狀態?
- 15. 以編程方式更改自定義樣式的一個屬性
- 16. 以編程方式更改標籤方向,編程方式
- 17. 以編程方式更改UIButton的狀態
- 18. 如何以編程方式更改editButtonItem的狀態?
- 19. 編程方式更改的AssemblyVersion和屬性的AssemblyFileVersion
- 20. Android:以編程方式更改爲實體xml形狀使文本消失
- 21. 以編程方式設置WPF屬性
- 22. 以編程方式創建xml屬性
- 23. 更改R.String的值以編程方式
- 24. 以編程方式更改SCNScene的sceneNamed
- 25. 以編程方式更改R.string的值?
- 26. 以編程方式更新更新插入屬性
- 27. 如何以編程方式更改iPhone上的圖形元素?
- 28. 如何以編程方式更改我的GNUradio流中的屬性?
- 29. 如何以編程方式更改ToggleButton狀態?
- 30. 如何在Swift中以編程方式更改UIButton狀態