欢迎来到天天文库
浏览记录
ID:11307599
大小:50.43 KB
页数:7页
时间:2018-07-11
《java有关浮动面板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java有关浮动面板(无标题可拖动窗口)(2009-11-2009:39:58)标签:java浮动面板无标题窗口可拖动透明it分类:Java类文章最近和同学组的开发DeskPixie的小组,我负责期中透明浮动面板的开发,真的是一点头绪都没有啊!在网上查了很长时间关于浮动面板的信息,可是查到得都是相关有窗口标题的依赖某个主窗口的可拖动的浮动窗口!在查询过程中了解到对话框分为了模式和非模式窗口,两者大概的区别有所了解了,但是具体的区别还有待查询;另外还大概了解到了开发这些窗口可能用到的类是Dialog、JToolbar、JOptionPan
2、e;具体这些类的学习及窗口的开发还待学习;现在切入正题,为和我一样找寻这方面知识,可又无从下手,或者搜索关键词一直把握不对的朋友,分享从网上找到的相关代码,以及运行效果图,还有运行过程中可能遇到的问题;在此特别感谢z.EnID:zenwong;他的两篇文章:1、http://blog.csdn.net/zenwong/archive/2007/11/02/1863817.aspxJavaSwing无标题窗口可拖动代码为:packagejavaapplication1;importjavax.swing.*;importjava.awt.
3、*;importjava.awt.event.*;publicclassTestFrameDemo{ staticPointorigin=newPoint(); //全局的位置变量,用于表示鼠标在窗口上的位置 staticJFramemyFrame=newJFrame(); publicstaticvoidmain(String[]args){ myFrame.setUndecorated(true); myFrame.setSize(600,4
4、00); myFrame.setVisible(true); myFrame.addMouseListener(newMouseAdapter(){ publicvoidmousePressed(MouseEvente){ //按下(mousePressed不是点击,而是鼠标被按下没有抬起) origin.x=e.getX(); //当鼠标按下的时候获得窗口当前的位置
5、 origin.y=e.getY(); } }); myFrame.addMouseMotionListener(newMouseMotionAdapter(){ publicvoidmouseDragged(MouseEvente){ //拖动(mouseDragged指的不是鼠标在窗口中移动,而是用鼠标拖动)
6、 Pointp=myFrame.getLocation(); //当鼠标拖动时获取窗口当前位置 //设置窗口的位置 //窗口当前的位置+鼠标当前在窗口的位置-鼠标按下的时候在窗口的位置 myFrame.setLocation(p.x+e.getX()-origin.x,p.y+e.g
7、etY()-origin.y); } }); }}此代码我在Myeclipse中执行,请初学者注意包名和类名;这个执行效果为:图中灰色的部分为浮动窗口部分,可随意拖动,但是要在任务栏右击才能关闭窗口;2、用NetBeans写的JavaSwing模仿Vista磨砂玻璃效果透明窗体第3版上面是原文作者的标题,我在Myeclipse里面试过了,也能正常运行,无需修改代码,但是可能有些用户需要修改Myeclipse默认的jre,这个最后说,先看一下代码: pac
8、kagejavaapplication1;importjava.awt.Robot;importjava.awt.*;importjava.awt.BorderLayout;importjava.awt.D
此文档下载收益归作者所有