下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这 3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下画线的语句),使程序能输出正确的

admin2009-01-15  34

问题 下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这 3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。
   注意:不改动程序的结构,不得增行或删行。
           import java.applet.*;
           import java.awt.*;
           import java.awt.*;
      /*
       <applet code="ex15_3.class"width=800 height=400>
       </applet>
      */
     class CanvasCircle extends Canvas{
       private Color cCircle;
       public CanvasCircle(Color c){
            cCircle=c;
       }
            public void paint(Graphics g){
            int dimCircle,xCircle,yCircle;
            Dimension sizeCurrent=getSize();
            if(sizeCurrent.width>sizeCurrent.height){
                 dimCircle=sizeCurrent.width;
            }
                   else{
                dimCircle=sizeCurrent.height;
            }
            g.setColor(cCircle);
            xCircle=(sizeCurrent.heighe-dimCircle)/2;
            yCircle=(sizeCurrent.width-dimCircle)/2;
            g.fillOval(xCircle,yCircle,dimCircle,dimCircle);
         }
       }
       public class exl5_3 extends Applet{
            public void init(){
             GridBagLayout gbl=new GddBagLayout();
            GridBagConstraints gbc=new CridBagConstraints();
            CanvasCircle circleNew;
            setLayout(gbl);
            gbc.weightx=1.0;
            gbc.weighty=1.0;
            gbc.fill=GridBagConstraints.BOTH;
            circleNew=new CanvasCircle(Color.red);
            gbl.setConstraints(circleNew,gbc);
            add(circleNeW);
            gbc.weightx=1.5;
            gbc.weighty=1.5;
            circleNew=new CanvasCircle(Color.green);
            gbl.sctConstraints(eircleNew,gbc);
            add(circleNew);
            gbc.weightx=2.0;
            gbc.weighty=2.0;
            circleNew=new CanvasCircle(Color.blue);
            gbl.setConstraints(circleNew,gbc);
            add(circleNew);
        }
   }
   ex15_3.html
    <HTML>
    <HEAD>
    <TITLE>ex15_3</TITLE>
    </HEAD>
    <BODY>
    <applet code="ex15_3.class"width=800 height=400>
    </applet>
    </BODY>
    </HTMI>

选项

答案sizeCurrent.width<sizeCurrent.height xCircle=(sizeCurrent.width-dimCircle)/2 yCircle=(sizeCurrent.height-dimCircle)/2

解析
转载请注明原文地址:https://kaotiyun.com/show/whnp777K
0

最新回复(0)