我正在尝试导入java.awt。*;进入Greenfoot中的类,但是当我调用方法paintComponent()时,出现错误消息,指出未找到该方法。
Greenfoot网站指出,必须手动导入本机类(http://www.greenfoot.org/doc/native_loader),并且每个本机类都必须包含在我的方案(项目)中。
该网站提供了指向本机类加载器的链接,但未提供包含java.awt类的库的链接。
如果有人可以告诉我在哪里可以下载该库,或者让我知道我是否对Java完全陌生,那么这将对您有很大的帮助。
谢谢
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.*;
import javax.swing.*;
public class Ground extends Actor
{
public void act() {
// Add your action code here.
}
public void paintComponent(Graphics z) {
super.paintComponent(z);
z.setColor(Color.BLUE);
z.fillRect(0, 0, 100, 100);
}
}
最佳答案
paintComponent()
是Swing中的一种方法-即包javax.swing
中的类。 java.awt
中的类没有这种方法。它是在javax.swing.JComponent
中引入的,因此JComponent
的所有子类(即JButton
,JPanel
等)都具有它。
要绘制Greenfoot Actor
,请创建并返回一个GreenfootImage
对象。 Here is its API.我认为与上述正确的等同是
public class Ground extends Actor {
public GreenfootImage getImage(){
GreenfootImage image = new GreenfootImage(100, 100);
image.setColor(Color.BLUE);
image.fillRect(0, 0, 100, 100);
return image;
}
}
我不知道getImage()被调用的频率。也许Greenfoot文档解释了这一点。