2012-02-20 5 views
0

java.awt. *;을 가져 오려고합니다. 내 클래스 Greenfoot로하지만, 메서드를 호출 할 때, paintComponent(), 나는 메서드를 찾을 수 없다는 오류가 발생합니다.Greenfoot 및 Native Java 클래스

Greenfoot 웹 사이트에는 원시 클래스를 수동으로 가져와야한다는 내용 (http://www.greenfoot.org/doc/native_loader)과 각 원시 클래스가 내 시나리오 (프로젝트)에 포함되어야한다고 나와 있습니다.

웹 사이트는 원시 클래스 로더에 대한 링크를 제공하지만 java.awt 클래스가 포함 된 라이브러리는 제공하지 않습니다.

누군가 내가 도서관을 어디에서 다운로드 할 수 있는지 또는 내가 완전히 새로운 자바 인 것처럼 올바른 방향에 있는지 알려주면 큰 도움이 될 것입니다. 패키지 javax.swing에서 즉, 클래스 -

감사

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); 
    } 
} 
+0

java.awt 패키지는 Java 코드의 패키지입니다. 네이티브 코드 (다른 언어로 작성된 플랫폼 종속 코드)가 아닙니다. 따라서 네이티브 로더를 전혀 사용할 필요가 없습니다! – berry120

답변

1

paintComponent()는 스윙의 방법이다. java.awt의 수업에는 이러한 방법이 없습니다. javax.swing.JComponent에서 소개되었으므로 의 모든 하위 클래스 (예 : JButton, JPanel 등)가 있습니다.

Greenfoot Actor을 그리려면 GreenfootImage 개체를 만들어 반환해야합니다. Here is its API. 나는 위의 올바른 상당 내가라고하는 빈도 된 GetImage() 모르는

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; 
    } 
} 

같은 생각; 아마도 Greenfoot 문서에 설명되어 있습니다.

+0

불행히도 import.javax.swing. *; 내 코드에서도 ... 내 전체 코드를 게시 할 예정입니다. –

+0

예, 올바른 클래스의 인스턴스에서 메소드를 호출해야합니다. 그 이름의 메소드를 가지는 클래스의 인스턴스, 즉'JComponent'의 인스턴스의 인스턴스상에서 만'paintComponent()'를 호출 할 수 있습니다. –

+0

알기. Greenfoot와 어떻게 통합 할 수 있는지에 대한 조언이 있습니까? –