我正在尝试将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);
}
}发布于 2012-02-20 12:40:28
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文档解释了这一点。
https://stackoverflow.com/questions/9356238
复制相似问题