我是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
简单地封装了x
和y
整数值。它不是从 java.awt.Component
派生的,因此无法调用 repaint
。
对于 Swing 中的自定义绘制,请扩展 JComponent
或 JPanel
并覆盖 paintComponent
而不是 paint
。请记住调用 super.paintComponent(g)
。
关于Java : repaint is undefined in class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511331/