Java图形多类

Java图形多类,java,swing,graphics,Java,Swing,Graphics,我有个小问题。我想写一个程序,画一盒蜡笔。我想有一个方法,我可以从一个画蜡笔的主小程序调用。目前,我的主程序如下所示: package Crayons; import java.awt.Color; import java.awt.Graphics; import javax.swing.JApplet; @SuppressWarnings("serial") public class CrayonBox extends JApplet { public void paint (Gra

我有个小问题。我想写一个程序,画一盒蜡笔。我想有一个方法,我可以从一个画蜡笔的主小程序调用。目前,我的主程序如下所示:

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);
 }
    }
我的支持程序有画蜡笔的方法,它是这样的:

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);
 }
    }
我现在需要第二个程序来绘制我使用

page.drawPolygon(crayonTip);
并使用

page.setColor(color);
但是它说页面无法解析。因此,它无法控制page命令。这很烦人。有办法解决这个问题吗


谢谢

paint
方法传递给
Graphics
对象以处理绘图。通过将
页面
对象传递给任何帮助器方法,可以将此对象传递给这些方法。然后,您的
drawCrayon
方法变为:

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