Greenfoot和本机Java类
我正在尝试导入java.awt.*;但是当我调用一个方法paintComponent()时,我得到一个错误,说找不到该方法 Greenfoot网站声明必须手动导入本机类(),并且每个本机类都必须包含在我的场景(项目)中 该网站提供指向本机类加载器的链接,但不提供包含java.awt类的库的链接 如果有人能告诉我在哪里可以下载这个库,或者让我知道我是否走上了正确的道路,这将是非常有帮助的,因为我对Java是完全陌生的 谢谢Greenfoot和本机Java类,java,class,methods,greenfoot,Java,Class,Methods,Greenfoot,我正在尝试导入java.awt.*;但是当我调用一个方法paintComponent()时,我得到一个错误,说找不到该方法 Greenfoot网站声明必须手动导入本机类(),并且每个本机类都必须包含在我的场景(项目)中 该网站提供指向本机类加载器的链接,但不提供包含java.awt类的库的链接 如果有人能告诉我在哪里可以下载这个库,或者让我知道我是否走上了正确的道路,这将是非常有帮助的,因为我对Java是完全陌生的 谢谢 import greenfoot.*; // (World, Actor
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
等——都有它
要绘制绿脚演员
,您需要创建并返回一个绿脚图像
对象。我认为正确的等价于上面所说的
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()的频率;也许绿脚文件解释了这一点 不幸的是,我还有import.javax.swing.*;在我的代码中。。。我将发布我的全部代码是的,但是您仍然必须在正确类的实例上调用该方法。您只能在具有同名方法的某个类的实例上调用
paintComponent()
,即,在某种类型的JComponent
的实例上。关于如何将其与Greenfoot集成,您有什么建议吗?我对Greenfoot一无所知,但我只是在Google上搜索了Actor类,我发现您应该返回一个GreenfootImage
对象来表示演员。我将在我的答案中添加一些代码,让您了解应该做什么。java.awt包是一个java代码包-它不是本机代码(用另一种语言编写的依赖于平台的代码)。因此,您根本不需要使用本机加载程序!