paintComponent告诉我即时使用对象而不是图形

时间:2013-12-07 21:26:46

标签: java paint draw paintcomponent graphic

基本上我有这个代码

ImageIcon image = new ImageIcon(this.getClass().getResource("http://i.imgur.com/UKmK7j0.jpg")); //Image is just an example

public void paintComponent(Graphics g) {
    super.paintComponent(g);
    image.paintIcon(null, g, x, y);
}

但它告诉我

“对象类型

未定义paintComponent(Graphics)方法

我做错了什么?请帮帮我

2 个答案:

答案 0 :(得分:3)

这很可能是因为您没有扩展正确的课程。您需要扩展JPanel或包含它的任何其他类以调用此超类。现在它正在寻找默认超类中的paintComponent()方法Object并且那里没有paintComponent()方法。

public class myClass extends JPanel {
    ...
}

答案 1 :(得分:1)

您对super.paintComponent(g)的调用正在寻找超类中的paintComponent()方法。这可能是因为您尝试在不是JComponent的子类的类中使用此方法,该类是具有paintComponent()方法的类。请参阅JComponent

很可能,您希望使您的类成为JPanel的子类,或者是JComponent

的子类的任何其他类