0

java.awt。*をインポートしようとしています。Greenfootのクラスに追加しましたが、メソッドpaintComponent()を呼び出すと、メソッドが見つからなかったというエラーが表示されます。

GreenfootのWebサイトには、ネイティブクラスを手動でインポートする必要があり(http://www.greenfoot.org/doc/native_loader)、各ネイティブクラスをシナリオ(プロジェクト)に含める必要があると記載されています。

Webサイトには、ネイティブクラスローダーへのリンクがありますが、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);
   }
}
4

1 に答える 1

1

paintComponent()Swingのメソッドです。つまり、パッケージ内のクラスjavax.swingです。のクラスにjava.awtはそのようなメソッドがありません。これはで導入されているため、 --、つまり、などjavax.swing.JComponentのすべてのサブクラスにあります。JComponentJButtonJPanel

Greenfootを描画するActorには、オブジェクトを作成して返しGreenfootImageます。これがその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のドキュメントはそれを説明しています。

于 2012-02-20T04:40:28.393 に答える