2011-01-03 2 views
1

약간의 문제가 있습니다. 나는 크레용 상자를 그리는 프로그램을 작성하려고합니다. 크레용을 그리는 기본 애플릿에서 호출 할 수있는 메소드가 필요합니다. 현재 내 주요 프로그램은 다음과 같습니다자바 그래픽 다중 클래스

package Crayons; 

import java.awt.Color; 
import java.awt.Graphics; 

import javax.swing.JApplet; 

@SuppressWarnings("serial") 
public class CrayonBox extends JApplet 
{ 
public void paint (Graphics page) 
{ 
    final int CENTER = 250; 
    final int SQUARE_SIZE = 31; 

    Crayon.drawCrayon(CENTER-5*SQUARE_SIZE, CENTER+5*SQUARE_SIZE, 9*SQUARE_SIZE,Color.red); 
    page.set 
} 
    } 

과 크레용을 그리는 방법을 가지고 내 지원 프로그램은 다음과 같습니다

package Crayons; 
import java.awt.Color; 
import java.awt.Polygon; 

@SuppressWarnings("serial") 
public class Crayon extends CrayonBox 
{ 


public static void drawCrayon (int x, int y, int height, Color color) 
{ 
    Polygon crayonTip = new Polygon(); 
    crayonTip.addPoint(x+15, y); 
    crayonTip.addPoint(x+46, y); 
    crayonTip.addPoint(x+62, y-62); 
    crayonTip.addPoint(x+62, y); 
    page.setColor(color); 
} 
    } 

난 지금 내가 만든 poylgon을 그리는 두 번째 프로그램이 필요

page.setColor(color); 
,745를 사용하여 색상을
page.drawPolygon(crayonTip); 

를 사용하고 변경할

하지만 페이지를 해결할 수 없다고 말합니다. 그래서 그것은 페이지 명령을 제어 할 수 없습니다. 어느 것이 매우 성가시다. 이 주변에 그 길이 있습니까?

감사합니다.

답변

2

paint 메서드는 드로잉을 처리하기 위해 Graphics 개체가 전달됩니다. 이러한 메서드에 page 개체를 전달하여이 개체를 도우미 메서드에 전달할 수 있습니다. drawCrayon 방법은 다음과 같이됩니다.

public static void drawCrayon (int x, int y, int height, Color color, Graphics page) 
{ 
    ... 
    page.setColor(color); 
} 
+0

고마워요! 이 작품이 있다면, 나는 행복하게 될거야! – pogo2065