我想创建许多连接小圆形状的直线。那么我想在程序中改变线条的颜色和宽度。我正在考虑使用Canvas来做到这一点,但似乎没有办法访问绘制在画布上的个别形状,以便在绘制后更改它们的属性。什么将是一个简单的方法来实现呢?java以编程方式更改形状的属性
1
A
回答
2
首先,什么版本的Java和哪个UI工具包? AWT的帆布很愚蠢,甚至不会“记住”你画的东西;当你最小化和恢复窗口时,它会发送一个paint()
事件,因为它想要重新绘制。
最简单的方法(如果您使用的是AWT并粘贴到画布上),应该有一个您的形状列表(一个列表中的所有或一个圈子和一个线条,或任何你喜欢的),并让你的油漆方法将其全部绘制出来。然后更新列表中的对象。完成更新后,请在您的画布上拨打repaint()
,它会再次为您拨打paint()
。
0
如果您使用Graphics和Graphics2D函数(如drawRect,drawPolygon,DrawOval等),则不会将图形绘制到Canvas上。绘制后,它们不再以形状存在。你只是有一个填充像素的图像。正如mihi所说,你可能需要跟踪你想要绘制的形状,然后在图像发生变化时重新产生图像。也许你也可以通过在背景颜色上绘制并重绘变化后的形状来“解开”你想要改变的形状。
相关问题
- 1. 以编程方式更改属性值
- 2. 以编程方式更改Hystrix属性
- 3. 以编程方式更改SelectedIndex时更改绑定属性
- 4. 以编程方式更改UIButton状态
- 5. 以编程方式更改UIBarButtonItem状态
- 6. 以编程方式更改现有形状中的纯色
- 7. 如何以编程方式更改Android中形状的纯色?
- 8. 以编程方式更改层列表中形状的颜色
- 9. 以编程方式更改视图的可见性属性
- 10. 以编程方式在android中更改形状颜色
- 11. 以编程方式更新Magento属性
- 12. 以编程方式更改按钮的属性
- 13. 以编程方式更改UIButton的属性标题
- 14. 如何以编程方式更改按钮的Text属性?
- 15. Android:以编程方式更改动画列表的“duration”属性
- 16. 以编程方式更改UITabBarControllers类的tabBar属性
- 17. 以编程方式更改UIBarButtonItem的标识符属性
- 18. 如何以编程方式更改形状矩形的描边宽度
- 19. 以编程方式在C#中更改窗体ShowInTaskbar属性?
- 20. 如何以编程方式在Java中设置属性属性?
- 21. Android以编程方式使用形状
- 22. 以编程方式更新/编辑Magento中的属性选项
- 23. 以编程方式更改自定义按钮形状的颜色
- 24. 以编程方式更新gtalk状态?
- 25. 以编程方式更改自定义样式的一个属性
- 26. 以编程方式更改标签方向,编程方式
- 27. 如何以编程方式更改VersionOne中的测试状态?
- 28. 以编程方式更改UIButton的状态
- 29. 如何以编程方式更改editButtonItem的状态?
- 30. mgwt - 以编程方式更改方向