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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать из java application апплет? 
:(
    Опции темы
ikar177
Дата 16.8.2007, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите плиз с такой вот задачей, есть прога на java/jogl, application , надо сделать из него апплет, чтобы можна было ее в хтмл вставить...я попытался, но видно еще опыта не хватает..заранее спасибо...вот листинг

import java.awt.*;
import java.awt.event.*;
import java.util.Random;

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

public class MoueMove11
{
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)
{
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)
{
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();
}
}
PM MAIL   Вверх
Metal_Heart
Дата 16.8.2007, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



ikar177, оформишь свой код в виде
Код

<< твой пример >>
 (теги КОД над текстовым полем сообщения)
тогда и поговорим конктретнее.

A еще лучше, сначала научись делать примитивный апплет, типа "hello ikar177"
http://java.sun.com/applets/
http://java.sun.com/javase/6/docs/api/java...ng/JApplet.html
http://forum.vingrad.ru/act-Search/CODE/sh...plet/index.html


Это сообщение отредактировал(а) Metal_Heart - 16.8.2007, 09:14


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


Новичок



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

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



Как простые апплеты писать я знаю, у меня переделать ен получается, возникает ошибка апплет не проинициализирован...вот код в более читабельном виде

Код

import java.awt.*;
import java.awt.event.*;
import java.util.Random;

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

public class MoueMove11
{
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)
{
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)
{
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();
}


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


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


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

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



вот тебе рыба, наполняй своим содержимым
Код

import javax.swing.*;

public class testApplet extends JApplet
{
public void init()
{
//инициализация апплета
}

public void start()
{
//запуск апплета
}

public void stop()
{
//останов апплета
}

//а сюда можешь напихать что-то ещё :)
//...
}


только методы не переопределяй!


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


Новичок



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

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



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

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

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


 




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


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

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