Java-Gaming.org Java4K winners: [ by our judges | by the community ]         
Featured games (67)
games approved by the League of Dukes
Games in Showcase (∞)
games submitted by our members



News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  Print  
  Applet resize problem  (Read 732 times)
0 Members and 2 Guests are viewing this topic.
Offline .exe

JGO n00b
*

Posts: 6



« on: 2011-09-23 12:52:56 »

Hi, i am new to java and game development.

I just started creating my first java applet using JOGL library.
After few tutorials i managed to draw a triangle, but have problem with GLCanvas and the reshape method.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
        public class CMain extends Applet implements GLEventListener
....

   public void init()
   {
      glu = new GLU();
      canvas = new GLCanvas(new GLCapabilities(GLProfile.getDefault()));
      this.add(canvas);
     
      canvas.addGLEventListener(this);
      canvas.setPreferredSize(this.getSize());
     
      final FPSAnimator animator = new FPSAnimator(canvas, 60);
      animator.start();
   }

....

   public void reshape(GLAutoDrawable glDrawable, int x, int y, int w, int h)
   {
         GL2 gl = glDrawable.getGL().getGL2();
         
         h = (h == 0) ? 1 : h;  // Prevent divide by zero
        float aspect = (float)w / h; // Compute aspect ratio
       
         // Set view port to cover full screen
        gl.glViewport(0, 0, w, h);
         
         // Set up the projection matrix - choose perspective view
        gl.glMatrixMode(GLMatrixFunc.GL_PROJECTION);  
         gl.glLoadIdentity();    // reset
        glu.gluPerspective(45.0f, aspect, 0.1f, 100.0f);
         
         // Switch to the model-view transform
        gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW);
         gl.glLoadIdentity();    
         
         canvas.setPreferredSize(null);
         canvas.setPreferredSize(this.getSize());  // <--- hmmm
  }


I'm using Eclipse and Java applet viewer, and when i resize window/applet
sometimes the Canvas size doesn't update!!  persecutioncomplex

Any suggestions?
Offline .exe

JGO n00b
*

Posts: 6



« Reply #1 on: 2011-09-24 07:31:31 »

Nobody knows where is problem?

Dont know if i have to resize canvas manually or is there some way to tell canvas to resize automatically,
i need to set some layout or??
Offline aazimon

Full Member
**

Posts: 208
Medals: 5



« Reply #2 on: 2011-09-24 12:06:40 »

I don't know much about applets. I didn't think you could re-size it. The problem may be in the repaint() method. How are you handling that in the applet?
Games published by our own members! Go get 'em!
Offline .exe

JGO n00b
*

Posts: 6



« Reply #3 on: 2011-09-24 16:02:14 »

fixed Smiley

replaced canvas.setPreferedSize() with canvas.reshape().
eclipse doesn't have javadoc for that method, it has 4 parameters so i guessed that would be x,y,width,and height.

1  
canvas.reshape(0, 0, this.getWidth(), this.getHeight());
Pages: [1]
  Print  
 
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.05 seconds with 19 queries.