登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: 主题:JAVA的OPENGL:JOGL入门例子(六)---NetBeans可视化与JOGL结合     [回主站]     [分站链接]
标题
主题:JAVA的OPENGL:JOGL入门例子(六)---NetBeans可视化与JOGL结合
clq
浏览(0) + 2010-06-07 15:00:53 发表 编辑

关键字:

主题:JAVA的OPENGL:JOGL入门例子(六)---NetBeans可视化与JOGL结合

来自 http://www.javaeye.com/topic/663873

clq
2010-6-7 15:02:46 发表 编辑

有人会问:以前都用eclipse作为JOGL的开发工具,为什么忽然要用NetBeans呢?

看看下面图片:

 很明显,,你们看到的不是JFrame运行以后的效果,而是类似于VC++6.0,或或者VS2005,2008系列的可视化 窗体开发界面,对,NetBeans作为SUN发布的IDE,功能十分全面,然而我不是写文章来介绍NetBeans是多么多么好用的,目的只是为了为大 家介绍 可视化JFrame编程与JOGL的混合应用。


 点击 “改变按钮” 以后的效果:




 编幅有限,我们将跳过NetBeans下JOGL插件的安装,直接进入开发实践中去,请注意,NetBeans下是一 定要安装JOGL插件的,和eclipse环境下很不相同,你们可以从我发的第一章教程例子里找到eclipse下开发JOGL的内容。至于 NetBeans下JOGL插件的安装,你可以链接到: 集成Java Desktop Application和JOGL(一)
又或者直接在网上搜索安装方 法。

我们这里用的是NetBeans6.5,当安装好JOGL插件,你就可以在主界面点击菜单栏  

文件---新建项目


然后就弹出   新建项目窗口



 选的是第三个 JOGL Application (From Designer,GLCanvas)点 下一步 ,



 在Project Name把项目的名字改为你想要的名字,Project Location就是项目文件夹的位置,Project Package为包的名字,我们这里默认org.yourorghere包。然后点完成。成功建立以后:

 

然后对着项目点 右键-----运行,就会看到效果:

 

这个当然不是最终效果,我们要的是图2里面的效果,而且现在还没添加可视化编辑窗体。

 


点击我们建好的项目----新建----JFrame窗体,随便命名,这里就直接为 NewJFrame ,包名为org.yourorghere,点 完成。


双击NewJFrame.java,就能看到我们想要的可视化界面,


 

接着我们点右边的   组件面板,找到我们要用的组件,

分别是:GLCanvas  Swing控件里的标签(JLabel)  按钮(JButton)


分别把它们拖动到设计面板的JFrame里去,GLCanvas拖放好以后,还要手动给一下大小,不然本身的太小,你很难见到它,要是你找不到它, 你可以在左下方 检查器 面板找到,改变大小的方法可以是直接手动拖放改,也可以在属性面板改大小。



 

再把4个JButton和JLabel 拖放到适合的位置,

右键分别点每一个按钮,编辑文本,修改显示的文字, 分别为  改变, 取消 ,+, -,  线宽:1   

得到效果就和图1一样了。



 下一步,我们从设计面板上面的  设计 点到  (S) , 添加代码


GLCanvas canvas;
 GLCapabilities capabilities;
 public static FPSAnimator animator;
 GLRenderer render = new GLRenderer();   //
这是我们的GLEventlistener ,重点,由系统生成,等一下要到.JAVA文件下修改一下代码。

 

然后点换到 设计(D 面板,右键单击我们原本拖放好的 GLCanvas,点定制代码



 

打开定制代码窗体,添加 代码c

        apabilities = new GLCapabilities();
        gLCanvas1=new GLCanvas(capabilities);
        gLCanvas1.addGLEventListener(render);
        animator=new FPSAnimator(gLCanvas1,60,true);



 

然后关闭代码定制器,回 到 设计 面板,右键单击每一个按钮,然后点属性,为它们添加上鼠 标点击事件

添加方法就是在actionPerformed后面一栏双击左键。


  -->  

 

四个按钮都分别添加上actionPerformed事件以后,双击 项目 面板里边的 GLRenderer.java文件来到GLRenderer

添加变量:

private float rquad = 0.0f;
private float rtri = 0.0f;
public boolean isBtndown = false;
public float linewidth=1.0f;



 

 

添加完成以后,切换到NewJFrame,我们来为每个按钮的actionPerformed事件添加代码


然后修改NewJFrame  public static void main(String args[])方法里的内容为



 

 这 句UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

用作修改当前窗体为标准WINDOWS窗体,要想用其他窗体,请修改里面的参数,这里不列举 了。

最后来到GLRenderer.java里,修改display(GLAutoDrawable drawable)里的代码,你可以直接复制了。

public void display(GLAutoDrawable drawable) {
        GL gl = drawable.getGL();
        GLUT glut=new GLUT();
        double x,y;

        // Clear the drawing area
        gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
        // Reset the current matrix to the "identity"
        gl.glLoadIdentity();

        // Move the "drawing cursor" around
        gl.glTranslatef(-1.5f, 0.0f, -6.0f);

        // Drawing Using Triangles
        if (isBtndown) {

             gl.glRotatef(rquad, 0.0f, 0.0f, 1.0f);
              gl.glLineWidth(linewidth);
            gl.glBegin(GL.GL_LINE_STRIP);
           

  for (double i = 0; i < 60; i += 0.1) {                    //这个for语句里画螺旋,由glBegin开始,glEnd
      float red = (float) ((Math.random())*(1.0f));            //
随机红
   float green = (float) ((Math.random())*(1.0f));          //
随机绿
      float blue = (float) ((Math.random())*(1.0f));
   gl.glColor3f(red, green, blue); 
            x = Math.sin(i) * i /10 ;
      y = Math.cos(i) * i/10 ;
      gl.glVertex2d(x, y);

     }
    gl.glEnd();
        }
        else{
                        gl.glBegin(GL.GL_TRIANGLES);
            gl.glColor3f(1.0f, 0.0f, 0.0f);    // Set the current drawing color to red
            gl.glVertex3f(0.0f, 1.0f, 0.0f);   // Top
            gl.glColor3f(0.0f, 1.0f, 0.0f);    // Set the current drawing color to green
            gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
            gl.glColor3f(0.0f, 0.0f, 1.0f);    // Set the current drawing color to blue
            gl.glVertex3f(1.0f, -1.0f, 0.0f);  // Bottom Right
            // Finished Drawing The Triangle
            gl.glEnd();
           
        }
 

 

终于完成,运行效果如图23。头一次写这么完整的教程,大家有什么意 见请指教,代码已经上传,名为 SRC.rar

没有试过把代码放到eclipse下运行,大概会不支持,想试试的朋友直接 复制SRC里面的文件过去就行。


clq
2010-6-7 15:03:10 发表 编辑

   发表时间:2010-05-11   最后修改:2010-05-11
gml520 写道
JOGL for netbeans 最新版本要求 NetBeans6.7 。

本身NetBeans6.5就是可以轻松更新到6.7的,你的是6.5的话,可以点工具--->插件,找合适的JOGL插件就好


总数:2 页次:1/1 首页 尾页  
总数:2 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1