java - 使用 repaint() 时绘制图形而不删除它们

标签 java swing graphics

我有一个 draw 方法,我希望在调用 repaint() 后 drawLine 保留在屏幕上。 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);

}

最佳答案

在重绘请求中,您必须使用以下方法之一指定“脏区”的坐标和尺寸:

请注意,在执行自定义绘画时,您需要覆盖 paintComponent,而不是 paint

关于java - 使用 repaint() 时绘制图形而不删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913508/

相关文章:

java - 在上传的图像文件之上绘图

Java 缓冲图像 RescaleOp 透明度问题

java - 获取设备中的内部可用存储空间

java - 如何按天汇总?

java - 如何在liferay 6.2中显示二级drop dwon菜单?

java - 瓷砖网格世界创建麻烦

java - 改变油漆的颜色会改变所有圆圈的颜色

java - 是否有某种 'assertion' 覆盖工具(用于 Java)?

java - 刷新 java Jtable 以显示更新的数据

java - 如何在 JTextArea 中显示对象?