是否有一种方法可以将形状绘制为离散实体,例如在photoshop中绘制的每个矩形都是可以删除,移动,删除的对象,特别是当对象删除时,我删除代码中的对象,它从JPanel或画布中删除,而不是使用画布背景绘制相同的对象,我认为这是一种低效的方式。
例如,当我们使用Grahpics2D绘制矩形时,我们使用以下命令。
@Override
public void paintComponent(Graphics canvas){
super.paintComponent(canvas);
((Graphics2D) canvas).drawRect(20,20,100,100);
}
现在这个绘制的矩形与左上角的顶点位置以及宽度和高度相关联。它与Rectange对象没有关联,因此在绘制后无法引用矩形。
现在这个绘制的矩形与左上角的顶点位置以及宽度和高度相关联。它与Rectange对象没有关联,因此在绘制后无法引用矩形。
创建一个ArrayListe of Shape对象。Shape对象可以是Rectanda、Ellipse、Polygon等。然后在您的“画组件”(…)方法中,您遍历ArrayList以绘制每个形状。
所以ArrayList包含对Rectgle的引用。
查看自定义绘画方法中的Draw on Component
示例
如果你想变得非常花哨,那就去看看玩形状。你可以把你的形状变成一个真正的组件。