Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cоздание апплета с помощью jogl 
:(
    Опции темы
ikar177
Дата 20.8.2007, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.8.2007

Репутация: нет
Всего: нет



Написал апплет при прогонке выдает, что апплет не проинициализирован...не подскажете в чем ошибка? вот код:
Код


import net.java.games.jogl.*;
import net.java.games.jogl.util.GLUT;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class OpenglApp extends JApplet {

    static Animator animator = null;

      static class Renderer
        implements  GLEventListener, MouseListener, MouseMotionListener
      {
        private float    xrot = 0;
        private float    yrot = 0;
        private float    z = -3.8f;
        private int prevMouseX, prevMouseY;
        public boolean mouseRButtonDown = false;
        Random random = new Random();
        public float x1 =0.2f;
        public float y1 = 0.1f;
        public float z1 = 0;
        public float n =2;
        public float k = 2;
        public float l = 2;
        public float a1 =0.4f;
        public float b1 = 0.1f;
        public float c1 = 0.3f;     //  A0,B0,C0,1,-C-A/B,B
        public float A = 1;  //random.nextInt(3);
        public float B = -l-n/k;  // random.nextInt(3);
        public float C = k;
        public float D = -A*a1-B*b1-C*c1;

        public void display(GLDrawable gLDrawable)
        {
          final GL gl = gLDrawable.getGL();
          final GLU glu =  gLDrawable.getGLU();

          DrawLine drawline = new  DrawLine();
          DrawPlane drawplane = new  DrawPlane();
          DrawString drawstring = new DrawString();
          DrawAxes drawaxes = new DrawAxes();

          gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
          gl.glLoadIdentity();
          gl.glTranslatef(0.0f, 0.0f, this.z);
          gl.glRotatef(-90, 1.0f, 0.0f, 0.0f);
          gl.glRotatef(-100, 0.0f, 0.0f, 1.0f);
          gl.glRotatef(15, 0.0f, 1.0f, 0.0f);
          gl.glRotatef(xrot, 1.0f, 0.0f, 0.0f);
          gl.glRotatef(yrot, 0.0f, 1.0f, 0.0f);
          gl.glClearColor(1,1,1,1);
          float fLightPos[]  = { -100.0f, 100.0f, 50.0f, 1.0f };  // Point source
          float fNoLight[] = { 0.0f, 0.0f, 0.0f, 0.0f };
          float fLowLight[] = { 0.25f, 0.25f, 0.25f, 1.0f };
          float fBrightLight[] = { 0.2f, 0.2f, 0.2f, 0.2f };
          gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT, fNoLight);
          gl.glLightfv(gl.GL_LIGHT0, gl.GL_AMBIENT, fLowLight);
          gl.glLightfv(gl.GL_LIGHT0, gl.GL_DIFFUSE, fBrightLight);
          gl.glLightfv(gl.GL_LIGHT0, gl.GL_SPECULAR, fBrightLight);
          gl.glEnable(gl.GL_LIGHTING);
          gl.glEnable(gl.GL_LIGHT0);
          gl.glEnable(gl.GL_COLOR_MATERIAL);
          gl.glColorMaterial(gl.GL_FRONT, gl.GL_AMBIENT_AND_DIFFUSE);
          gl.glMaterialfv(gl.GL_FRONT, gl.GL_SPECULAR, fBrightLight);
          gl.glLineWidth(1);

          drawaxes.Axes(gl,10,1.2f,xrot,yrot);
          gl.glColor3f (0.0f, 10.0f, 10.10f);
          gl.glLineWidth(1);
          drawplane.Plane(gl,0.8f,A,B, C, D);
          gl.glLineWidth(2);
          gl.glColor3f (110.0f, 0.0f, 0.0f);
          drawline.Line(gl, 0.8f ,x1,y1,z1,n,k,l);


            gl.glPushMatrix();
            gl.glLineWidth(1);
            gl.glColor3f (0.0f, 0.0f, 0.0f);
            gl.glTranslatef(a1,b1,c1);
            gl.glRotatef(yrot, 0.0f, -1.0f, 0.0f);
            gl.glRotatef(xrot, -1.0f, 0.0f, 0.0f);
            gl.glRotatef(15, 0.0f, -1.0f, 0.0f);
            gl.glRotatef(-100, 0.0f, 0.0f, -1.0f);
            gl.glRotatef(-90, -1.0f, 0.0f, 0.0f);
            drawstring.String(gl, GLUT.STROKE_MONO_ROMAN,0.01f, 0.01f, 0.01f, "M("+ x1+","+y1+","+z1+")");
            gl.glPopMatrix();
            gl.glPointSize(4f);
            gl.glBegin(GL.GL_POINTS);
                gl.glVertex3f(a1,b1,c1);
            gl.glEnd();

      }

  public void init(GLDrawable gLDrawable) {
   // getContentPane().add(new JLabel("Applet!"));
     final GL gl = gLDrawable.getGL();
      gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
      gl.glShadeModel(GL.GL_FLAT);
      gLDrawable.addMouseListener((MouseListener) this);
      gLDrawable.addMouseMotionListener((MouseMotionListener) this);
  }






    public void reshape(GLDrawable gLDrawable, int x, int y, int width, int height)
       {
         final GL gl = gLDrawable.getGL();
         final GLU glu = gLDrawable.getGLU();

         if (height <= 0)
              height = 1;
         final float h = (float)width / (float)height;
         gl.glViewport(0, 0, width, height);
         gl.glMatrixMode(GL.GL_PROJECTION);
         gl.glLoadIdentity();
         glu.gluPerspective(45.0f, h, 1.0, 20.0);
         gl.glMatrixMode(GL.GL_MODELVIEW);
         gl.glLoadIdentity();
       }

         public void displayChanged(GLDrawable glDrawable, boolean b, boolean b1) {
             //To change body of implemented methods use File | Settings | File Templates.
         }


         public void mouseDragged(MouseEvent e) {
           int x = e.getX();
           int y = e.getY();
           if (mouseRButtonDown) {
              xrot = (float)(x - prevMouseX);
              yrot = (float)(y - prevMouseY);
           } else {
              prevMouseX = x;
              prevMouseY = y;
            }
   }

         public void mouseMoved(MouseEvent e) {
             //To change body of implemented methods use File | Settings | File Templates.
         }

         public void mouseClicked(MouseEvent e) {
             //To change body of implemented methods use File | Settings | File Templates.
         }

         public void mousePressed(MouseEvent e) {

            prevMouseX = e.getX();
            prevMouseY = e.getY();
            if ((e.getModifiers() & e.BUTTON3_MASK) != 0) {
            mouseRButtonDown = true;
            }
          }

         public void mouseReleased(MouseEvent e) {

            if ((e.getModifiers() & e.BUTTON3_MASK) != 0) {
            mouseRButtonDown = false;
            prevMouseX = e.getX();
            prevMouseY = e.getY();
           }
       }

         public void mouseEntered(MouseEvent e) {
             //To change body of implemented methods use File | Settings | File Templates.
         }

         public void mouseExited(MouseEvent e) {
             //To change body of implemented methods use File | Settings | File Templates.
         }


     }
  public static void main(String[] args) {
    JApplet applet = new JApplet();
     Frame frame = new Frame("My First Polygon");
    GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());
    canvas.addGLEventListener(new Renderer());
    frame.add(canvas);
    frame.setSize(700, 700);
    animator = new Animator(canvas);
    frame.addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        animator.stop();
        System.exit(0);
      }
    });
    frame.show();
    animator.start();
    canvas.requestFocus();

    applet.init();
    applet.start();
    frame.setVisible(true);
  }
}

PM MAIL   Вверх
Metal_Heart
Дата 21.8.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: нет
Всего: 12





--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
ikar177
Дата 23.8.2007, 11:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.8.2007

Репутация: нет
Всего: нет



ты чего на ссылку кидаешь на предыдущий пост?..они разные если ты не заметил..во втором я сделал апплет..как писать простые вещи я знаю, не надо азы мне показывать я просил ошибку показать...ты на первом видел что я спрашиваю? я сказал что в jogl испльзуется метод инит и в апплетах тоже...и как бытьв этом случае..а ты на первом элементарную фигню написал и думаешь что ответил..никто дальше и не писал больше подумв что вопрос решен...так что если не знаешь не мешай пожалуйста...может кто другой поможет..
PM MAIL   Вверх
Metal_Heart
Дата 23.8.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: нет
Всего: 12



ikar177, будешь орать - отрицательно предрасположишь к себе людей, это во-первых, а что касаемо азов - попробуй переделать в своей проге вместо метода
Код

public static void main(String[] args)

написать немного расширенный:
Код

public static void main(GLDrawable gLDrawable)

и обязательно проверь результаты...

П.С.
это был оччень тоненький намек, свкозь оба твоих топика


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
ikar177
Дата 23.8.2007, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.8.2007

Репутация: нет
Всего: нет



да я и не думал орать..просто я думал, что тут помогают друг другу, я ведь тоже готов если надо по математике или геометрии любое содействие оказать..может алгоритм кому какой нужен..мне показлось, что ты отмахнулся просто...так получилось звиняй если обидел чем то...

П.С. а эта зараза всеравно не фурычит я переделал, но дело не в этом кажется...простой аппликейшн то пашем с тем же методом мейн...может еще какие идеи есть?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0712 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.