Pereiti prie turinio

Pagalba su Java(OpenGL)


Rekomenduojami pranešimai

Sveiki. Taigi prireike pagalbos su JOGL.

 

Kodas:

package org.yourorghere;

import com.sun.opengl.util.Animator;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

public class LD1 extends JFrame implements GLEventListener, MouseListener, KeyListener
{
   private GLCanvas canvas;
   private Animator animator;

   public static void main(String[] args)
   {

       LD1 simple = new LD1();
       simple.begin();
   }

   public LD1()
   {
       setTitle("Grafika ir Vizualizavimas");

       canvas = new GLCanvas();
       animator = new Animator(canvas);

       canvas.addGLEventListener(this);
       canvas.addMouseListener(this);
       canvas.addKeyListener(this);

       getContentPane().add(canvas);
       setSize(480, 480);

       addWindowListener(new WindowAdapter()
       {
           @Override
           public void windowClosing(WindowEvent e)
           {
               new Thread(new Runnable()
               {
                   public void run()
                   {
                       animator.stop();
                       System.exit(0);
                   }
               }).start();
           }
       });

       setLocationRelativeTo(null);
       setVisible(true);
   }

   public void begin()
   {
       animator.start();
   }

   public void init(GLAutoDrawable drawable)
   {
       GL gl = drawable.getGL();

       gl.setSwapInterval(1);

       gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
   }

   public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height)
   {
       GL gl = drawable.getGL();

       if(height <= 0)
       {
           height = 1;
       }
       final float h = (float) width / (float) height;
       gl.glViewport(0, 0, width, height);
   }

   public void display(GLAutoDrawable drawable)
   {
       GL gl = drawable.getGL();

       gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

       gl.glColor3f(1.0f, 0.0f, 0.0f);

       gl.glBegin(GL.GL_TRIANGLES);
       gl.glVertex3f(0.0f, 0.5f, 0.0f);
       gl.glVertex3f(-0.5f, -0.5f, 0.0f);
       gl.glVertex3f(0.5f, -0.5f, 0.0f);
       gl.glEnd();

       gl.glFlush();
   }

   public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged)
   {
   }

   public void mouseClicked(MouseEvent me)
   {
       if(me.getButton() == MouseEvent.BUTTON3)
       {
           mouseContext().show(me.getComponent(), me.getX(), me.getY());
       }
   }

   public void mousePressed(MouseEvent me)
   {
       System.out.println("Veikia");
   }

   public void mouseReleased(MouseEvent me)
   {
       System.out.println("Veikia");
   }

   public void mouseEntered(MouseEvent me)
   {
   }

   public void mouseExited(MouseEvent me)
   {
   }

   private JPopupMenu mouseContext()
   {
       JPopupMenu popup = new JPopupMenu();

       JMenuItem menu1 = new JCheckBoxMenuItem("Pirmas");
       menu1.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent ae)
           {
               repaint();
           }
       });

       JMenuItem menu2 = new JCheckBoxMenuItem("Antras");
       menu2.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent ae)
           {
               repaint();
           }
       });

       popup.add(menu1);
       popup.add(menu2);

       return popup;
   }

   public void keyPressed(KeyEvent ke)
   {
       if(ke.getKeyCode() == KeyEvent.VK_UP)
       {
       }
   }

   public void keyTyped(KeyEvent ke)
   {
   }

   public void keyReleased(KeyEvent ke)
   {
   }
}

 

Gal zinot kas blogai kad man neveikia sitas kodas?

 

ir neprosal butu jei kas uzvestu ant kelio su siuo uzdaviniu:

 

OpenGL bibliotekos priemonėmis papildykite Java

programavimo kalba parašytą programą.

Nupieškite dešinėje pusėje esančia figūrą ir

padarykite galimybę uždaryti programos langą

nuspaudus klaviatūros klavišą „Enter“.

 

 

http://s30.postimg.org/fqtpr9081/dffs.jpg

Redagavo bladex19
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...