Java : repaint is undefined in class

标签 java swing paint repaint jcomponent

我是java新手。我想用java创建一个抽象工厂。我有一个类 point ,我想从中扩展其他类( circle,矩形 )。

这是我的代码。它说重绘未定义..

import javax.swing.*;
import java.awt.*;
import java.awt.Component;
import javax.swing.*;


public class Circle extends Point {

public void Draw() {
    repaint();
}

public void paint(Graphics g) {       

    g.drawOval(this.x, this.y, 10, 10);

}...

最佳答案

Point简单地封装了xy整数值。它不是从 java.awt.Component 派生的,因此无法调用 repaint

对于 Swing 中的自定义绘制,请扩展 JComponentJPanel 并覆盖 paintComponent 而不是 paint。请记住调用 super.paintComponent(g)

参见:Performing Custom Painting

关于Java : repaint is undefined in class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511331/

相关文章:

Java:构造函数不返回。但它确实如此吗?

java - 从 hibernate 查询中排除实体 bean 属性?

java - 将 Paint 组件添加到 JPanel

java - 调整 Ubuntu 字体高度

最大化 JFrame 期间发生 Java 绘制错误

c# - C#中的慢速屏幕绘制

用于重新格式化 JSON key 的 Java 工具

java - 如何将相同的方法添加到多个类( Activity )

java - 需要帮助以在发生 slider 更改时停止计时器

Java swing GUI 卡住