Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Создать класс: чутьчуть поправить код


Автор: Enya 27.3.2006, 12:05
Вот начали ДЖАВУ, препод нифига не объяняет. Сначала загрузил нарисовать, ну нарисовали типа что-то марсианина, теперь говорит мы этого марсианина будем юзать в разных апплетах, поэтому нужно сделать класс Robot, а этот класс грамотно сделать нифига не понимаю, вот коечто набросала, но всё равно белеберда.
Код

/**
 * @(#)Image01.java
 *
 * Sample Applet application
 *
 * @author
 * @version 1.00 06/03/23
 */
 
import java.awt.*;
import java.applet.*;

public class Image01 extends Applet {
   
   public void init() {
      resize(500,500);
      setBackground(new Color(250,227,175));
   }
   //myClass robot
   public class demoRobot extends Applet{
      class robot{int x,y,w,h,
         robot(int x, int y, int w, int h){
            this.x=x;
             this.y=y;
              this.w=w;
             this.h=h;
            }
   //showRobot
   public class show(Graphics g){
      g.drawOval(x,y,w,h);*
      }
   }
   robot R;
      }

   public void paint(Graphics g){
     int x,y,w,h,xm,ym;
         x=10;
          y=10;
         w=160;
         h=120;
         xm=w/8;
         ym=h/6;
         
        g.drawOval(x,y+ym*2,w,4*ym);//bigOval
        g.drawOval(x+xm*2,y+ym*3,2*xm,ym);//leftEye
        g.drawOval(x+xm*5,y+ym*3,2*xm,ym);//rightEye
        g.drawLine(x+xm*3,y+ym*5,x+xm*6,y+ym*5);//Mouth
        g.drawArc(x+xm*3,y+ym*5,x+xm*6,y+ym*5, 120, 90);
        g.drawLine(x+xm*2,y+ym,x+xm*3,y+ym*2);//leftHorn
        g.drawLine(x+xm*5,y+ym*2,x+xm*6,y+ym);//rightHorn
        g.fillOval(x+xm,y,xm,ym);//leftHornPoint
        g.fillOval(x+xm*6,y,xm,ym);//rightHornPoint    
   }
} 
Можно из ЭТОГО, сделать класс, и чтобы выполнялся просто показ(show) класса Robot smile smile

Автор: batigoal 27.3.2006, 13:02
Как я понял, тебе нужно что-то вроде этого:

Файл Applet1.java
Код

import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet
{
    Robot robot;
    public void init()
    {
        resize(500, 500);
        setBackground(new Color(250, 227, 175));
        robot = new Robot(10,10,160,120);
    }
    public void paint(Graphics g)
    {
        super.paint(g);
        robot.draw(g);
    }
}


Файл Robot.java
Код

public class Robot
{
    int x, y, w, h;

    Robot(int x, int y, int w, int h)
    {
        this.x = x;
        this.y = y;
        this.w = w;
        this.h = h;
    }

    public void draw(Graphics g)
    {
        g.drawOval(x, y, w, h);

        int xm, ym;
        xm = w / 8;
        ym = h / 6;

        g.drawOval(x, y + ym * 2, w, 4 * ym);//bigOval
        g.drawOval(x + xm * 2, y + ym * 3, 2 * xm, ym);//leftEye
        g.drawOval(x + xm * 5, y + ym * 3, 2 * xm, ym);//rightEye
        g.drawLine(x + xm * 3, y + ym * 5, x + xm * 6, y + ym * 5);//Mouth
        g.drawArc(x + xm * 3, y + ym * 5, x + xm * 6, y + ym * 5, 120, 90);
        g.drawLine(x + xm * 2, y + ym, x + xm * 3, y + ym * 2);//leftHorn
        g.drawLine(x + xm * 5, y + ym * 2, x + xm * 6, y + ym);//rightHorn
        g.fillOval(x + xm, y, xm, ym);//leftHornPoint
        g.fillOval(x + xm * 6, y, xm, ym);//rightHornPoint
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)