我有一个draw方法,我希望drawLine在调用repaint()后保留在屏幕上。 fillOval将会移动,没关系。但我希望drawLine只是在另一个位置重绘而不删除它。
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.RED);
g.drawLine(x, y, x+10, y+10);
g.setColor(Color.BLACK);
g.fillOval(x - radius, y - radius, radius * 2, radius * 2);
}
答案 0 :(得分:3)
在重绘请求中,您必须使用以下方法之一指定“脏区”的坐标和尺寸:
请注意,在执行自定义绘画时,您需要覆盖paintComponent
,而不是paint
。
答案 1 :(得分:2)
您可以在x
中存储每行的y
和List
。在每个repaint()
上,您只需重新绘制List