我直接贴代码
//package graphics
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.Timer;  ///java.util.Timer  shi xianshi daoru/**
*pinghua donghua de Swing zujian
*/
public class Hypnosis extends JComponent implements ActionListener
{
double x,y; //luoxuanxian zhongxin
double r1,r2; //luoxuanxian neiwai jing
double a1,a2; //luoxuanxian qishi jiao
double deltaA; //meizhen bianhua jiaodu
double deltaX,deltaY; //zhongxin guidao
float linewidth; //xianchu
Timer timer; //jifa donghua duixiang
BufferedImage buffere; //shuang huanchong tuxiang
Graphics2D osg; //huanchong Graphics2D tuxiang public Hypnosis(double x,double y,double r1,double r2,double a1,double a2,
float linewidth,int delay,double deltaA,double deltaX,double deltaY)
{
this.x=x;this.y=y;
this.r1=r1;this.r2=r2;
this.a1=a1;this.a2=a2;
this.linewidth=linewidth;
this.deltaA=deltaA;
this.deltaX=deltaX;
this.deltaY=deltaY;

//chuangjian yige dishiqi yanshi haomiao diaoyong yici actinperformed()
timer=new Timer(delay,this); //chuangjian shuang huanchong de huanchongqu
buffere=new BufferedImage((int)(2*r2+linewidth),(int)(2*r2+linewidth),BufferedImage.TYPE_INT_RGB);
////chuangjian Graphics duixiang yongyu huanchong,shezhi xianchu
////bing qingqiu baozhen
osg=buffere.createGraphics();
osg.setStroke(new BasicStroke(linewidth,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));
osg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
} ////qidong dingshiqi yi qiting huamian
public void start(){timer.start();}
public void stop(){timer.stop();}
/**
*Swing diaoyong ci fangfa chonghua zujian
*chi fangfa yong shuang huanchong shi donghua pinghua
*Swing zidong shuang huanchong shijishang
*chabie buda dan duiyu lijie jiqiao hen zhongyao
*/ public void paintComponent(Graphics g){
////qingchu pingwai tuxiang beijing 
osg.setColor(getBackground());
osg.fillRect(0,0,buffere.getWidth(),buffere.getHeight()); /////zai pingwei tuxiang zhong hua heise luoxuanxian
osg.setColor(Color.black);
osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
//////jiang pingwai fuxiang fuzhi [ingmu
g.drawImage(buffere,(int)(x-r1),(int)(y-r2),this);
} /** */
public void actionPerformed(ActionEvent e){
repaint((int)(x-r2-linewidth),(int)(y-r2-linewidth),(int)(2*(r2+linewidth)),(int)(2*(r2+linewidth)));
Rectangle bounds=getBounds();
if((x-r2+deltaX<0)||(x+r2+deltaX>bounds.width))
deltaX=-deltaX;
if((y-r2+deltaY<0)||(y+r2+deltaY>bounds.width))
deltaY=-deltaY;
///YIDONG ZHONGXIN
x+=deltaX;
y+=deltaY; ////zengjia qizhijiao
a1+=deltaA;
a2+=deltaA;
if (a1>2*Math.PI)
{
a1-=2*Math.PI;
a2-=2*Math.PI;
}
repaint((int)(x-r2-linewidth),(int)(y-r2-linewidth),(int)(2*(r2+linewidth)),(int)(2*(r2+linewidth)));

}
public boolean isDoubleBuffered() {return false;} public static void main(String[] args) {
JFrame f=new JFrame("Hypnosis");
Hypnosis h= new Hypnosis(200,200,10,0,11*Math.PI,7,100,0.666,3,5);///2*Math.PI/30
f.getContentPane().add(h,BorderLayout.CENTER);
f.setSize(400,400);
h.start();
}};

解决方案 »

  1.   

    回答seesea的问题吧,呵呵
    在命令行下右键选择标记就可以了
      

  2.   

    E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所    : Hypnosis の クラス
                    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
                                 ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (int,int,int,int,double,int,int,double,int,int)
    場所    : Hypnosis の クラス
                    Hypnosis h= new Hypnosis(200,200,10,0,11*Math.PI,7,100,0.666,3,5);///2*Math.PI/30
                                ^
    エラー 2 個E:\JAVA\graphics>
      

  3.   

    Hypnosis h = 
       new Hypnosis(200.0,200.0,10,0,0.0,11*Math.PI,7,100,0.666,3,5);///2*Math.PI/30
      

  4.   

    Microsoft Windows 2000 [Version 5.00.2195]
    (C) Copyright 1985-2000 Microsoft Corp.C:\>e:E:\>cd javaE:\JAVA>cd GraphicsE:\JAVA\graphics>javac
    使い方: javac <options> <source files>
    使用可能なオプションには次のものがあります。
      -g                        すべてのデバッグ情報を生成する
      -g:none                   デバッグ情報を生成しない
      -g:{lines,vars,source}    いくつかのデバッグ情報だけを生成する
      -nowarn                   警告を発生させない
      -verbose                  コンパイラの動作についてメッセージを出力する
      -deprecation              推奨されない API が使用されているソースの位置を出力する
      -classpath <path>         ユーザクラスファイルを検索する位置を指定する
      -sourcepath <path>        入力ソースファイルを検索する位置を指定する
      -bootclasspath <path>     ブートストラップクラスファイルの位置を置き換える
      -extdirs <dirs>           インストール済み拡張機能の位置を置き換える
      -d <directory>            生成されたクラスファイルを格納する位置を指定する
      -encoding <encoding>      ソースファイルが使用する文字エンコーディングを指定する
      -source <release>         指定されたリリースとソースの互換性を保つ
      -target <release>         特定の VM バージョン用のクラスファイルを生成する
      -help                     標準オプションの概要を出力する
    E:\JAVA\graphics>javac Hypnosis
    javac: Hypnosis は無効なフラグです。
    使い方: javac <options> <source files>
    使用可能なオプションには次のものがあります。
      -g                        すべてのデバッグ情報を生成する
      -g:none                   デバッグ情報を生成しない
      -g:{lines,vars,source}    いくつかのデバッグ情報だけを生成する
      -nowarn                   警告を発生させない
      -verbose                  コンパイラの動作についてメッセージを出力する
      -deprecation              推奨されない API が使用されているソースの位置を出力する
      -classpath <path>         ユーザクラスファイルを検索する位置を指定する
      -sourcepath <path>        入力ソースファイルを検索する位置を指定する
      -bootclasspath <path>     ブートストラップクラスファイルの位置を置き換える
      -extdirs <dirs>           インストール済み拡張機能の位置を置き換える
      -d <directory>            生成されたクラスファイルを格納する位置を指定する
      -encoding <encoding>      ソースファイルが使用する文字エンコーディングを指定する
      -source <release>         指定されたリリースとソースの互換性を保つ
      -target <release>         特定の VM バージョン用のクラスファイルを生成する
      -help                     標準オプションの概要を出力する
    E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所    : Hypnosis の クラス
                    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
                                 ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (double,double,int,double,double,int,int,double,int,int)
    場所    : Hypnosis の クラス
                    Hypnosis h= new Hypnosis(200.0,200.0,10,0.0,11*Math.PI,7,100,0.666,3,5);///2*Math.PI/30
                                ^
    エラー 2 個E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所    : Hypnosis の クラス
                    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
                                 ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (double,double,double,double,double,double,int,double,double,double)
    場所    : Hypnosis の クラス
                    Hypnosis h= new Hypnosis(200.0,200.0,10.0,0.0,11*Math.PI,7.0,100,0.666,3.0,5.0);///2*Math.PI/3
    0
                                ^
    エラー 2 個E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所    : Hypnosis の クラス
                    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
                                 ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (double,double,double,double,double,int,int,double,double,double)
    場所    : Hypnosis の クラス
                    Hypnosis h= new Hypnosis(200.0,200.0,10.0,0.0,11*Math.PI,7,100,0.666,3.0,5.0);///2*Math.PI/30
                                ^
    エラー 2 個E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:29: 精度が落ちている可能性
    検出値  : double
    期待値  : float
                    this.linewidth=linewidth;
                                   ^
    Hypnosis.java:42: シンボルを解決できません。
    シンボル: コンストラクタ BasicStroke (double,int,int)
    場所    : java.awt.BasicStroke の クラス
                    osg.setStroke(new BasicStroke(linewidth,BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));
                                  ^
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所    : Hypnosis の クラス
                    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
                                 ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (double,double,double,double,double,double,int,double,double,double)
    場所    : Hypnosis の クラス
                    Hypnosis h= new Hypnosis(200.0,200.0,10.0,0.0,11*Math.PI,7.0,100,0.666,3.0,5.0);///2*Math.PI/3
    0
                                ^
    エラー 4 個E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所    : Hypnosis の クラス
                    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
                                 ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (double,double,double,double,double,double,int,double,double,double)
    場所    : Hypnosis の クラス
                    Hypnosis h= new Hypnosis(200.0,200.0,10.0,0.0,11*Math.PI,7.0,100,0.666,3.0,5.0);///2*Math.PI/3
    0
                                ^
    エラー 2 個E:\JAVA\graphics>
    还是报错
      

  5.   

    E:\JAVA\graphics>javac Hypnosis.java
    Hypnosis.java:63: シンボルを解決できません。
    シンボル: クラス Spiral
    場所 : Hypnosis の クラス
    osg.draw(new Spiral(r2+linewidth/2,r2+linewidth/2,r1,a1,r2,a2));
    ^
    Hypnosis.java:97: シンボルを解決できません。
    シンボル: コンストラクタ Hypnosis (double,double,double,double,double,double,int,double,double,double)
    場所 : Hypnosis の クラス
    Hypnosis h= new Hypnosis(200.0,200.0,10.0,0.0,11*Math.PI,7.0,100,0.666,3.0,5.0);///2*Math.PI/3
    0
    ^
    エラー 2 個1。第一个是说Spiral类找不到
    2。第二个是发生在Hypnosis构造函数的错误楼主再具体的看看这两处的代码。
      

  6.   

    public Hypnosis(double x,double y,double r1,double r2,double a1,double a2,
    float linewidth,int delay,double deltaA,double deltaX,double deltaY)Hypnosis h= new Hypnosis(200.0,200.0,10.0,0.0,11*Math.PI,7.0,100,0.666,3.0,5.0);定义了11个参数,只传入10个。