qq项目第一天(java JFrame 标题栏 最小化 最大化 拖动窗体)
来源:互联网 发布:淘宝新规则2017 售假 编辑:程序博客网 时间:2024/06/10 17:59
运行结果截图:
源码暂时不上传,有希望一起学习的 可以加qq群:151648295
今天本来不止做这么多的,后来遇到一点麻烦事!!
那就是怎么设置 标题栏,系统默认的标题栏很难看!
下面是具体思路:
在使用Jframe的时候,普遍都会有标题栏,还有最小化,最大化,关闭按纽的,还要实现拖动窗体的功能。
这样的话,对我们实现自定义样式的窗体是很有影响的,
1) 要去掉标题栏:
jFrame.setUndecorated(true);
// 这样就可以去掉Jframe中对window的装饰了,
2) 去掉标题栏,我们就有可能要给程序写代码提供最小化,最大化,关闭的操作,如何实现?
只要给按纽添加MouseListener,
在mouseClick中的调用
jFrame.setExtendedState(jFrame.ICONIFIED); //最小化
if(jFrame.getExtendedState() != jFrame.MAXIMIZED_BOTH)
jFrame.setExtendedState(jFrame.MAXIMIZED_BOTH);
else
jFrame.setExtendedState(jFrame.NORMAL);
// 最大化或正常状态
System.exit(0);
// 关闭,退出程序
3) 要拖动窗体的功能:
只要给窗体中的某个组件添加如下代码就行了:
这样的话,对我们实现自定义样式的窗体是很有影响的,
1) 要去掉标题栏:
jFrame.setUndecorated(true);
// 这样就可以去掉Jframe中对window的装饰了,
2) 去掉标题栏,我们就有可能要给程序写代码提供最小化,最大化,关闭的操作,如何实现?
只要给按纽添加MouseListener,
在mouseClick中的调用
jFrame.setExtendedState(jFrame.ICONIFIED); //最小化
if(jFrame.getExtendedState() != jFrame.MAXIMIZED_BOTH)
jFrame.setExtendedState(jFrame.MAXIMIZED_BOTH);
else
jFrame.setExtendedState(jFrame.NORMAL);
// 最大化或正常状态
System.exit(0);
// 关闭,退出程序
3) 要拖动窗体的功能:
只要给窗体中的某个组件添加如下代码就行了:
Point loc = null; Point tmp = null; boolean isDragged = false; private void setDragable() { this.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent e) { isDragged = false; jFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } public void mousePressed(java.awt.event.MouseEvent e) { tmp = new Point(e.getX(), e.getY()); isDragged = true; jFrame.setCursor(new Cursor(Cursor.MOVE_CURSOR)); } }); this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent e) { if(isDragged) { loc = new Point(jFrame.getLocation().x + e.getX() - tmp.x, jFrame.getLocation().y + e.getY() - tmp.y); jFrame.setLocation(loc); } } }); } 在初始化该组件的时候调用 setDragable() 就可以使组件具体拖放窗体的功能了。因为可能有背景图,可能会重写paint方法,不能在paint方法中调用setDragable()
源码下载:
点此下载源码
欢迎大家关注我的博客,有什么问题可以评论,也可以加入我的qq群:151648295 希望大家一起进步。
我的博客更新很快的哦,这次十月一假期我将给大家分享一个j2se的项目,“制作山寨版qq”,欢迎大家一起关注啊。
- qq项目第一天(java JFrame 标题栏 最小化 最大化 拖动窗体)
- Java JFrame隐藏标题栏以及最大化最小化关闭和拖动
- 不拖动标题栏移动窗体,最大化窗体,最小化窗体,还原窗体
- [Win32]只允许最大化最小化窗口,禁止双击标题栏、拖动窗体、点击复原按钮来改变窗口大小
- java-去掉 JFrame上的最大化最小化和关闭按钮
- JAVA窗体最大化最小化控制+托盘
- java 改变窗体状态(最大化、最小化、正常)
- JAVA窗体最大化最小化控制+托盘
- WindowForm窗体的最小化、最大化、拖动窗体、关闭窗体、窗体阴影效果
- QT实现无边框窗体的最小化,最大化/还原,关闭,拖动和双击最大化等功能
- 重载标题栏中的最小化、最大化
- Flex 窗口最小化,最大化,拖动
- Flex 窗口最小化,最大化,拖动
- JFrame中最大化最小化问题技巧
- JFrame最大化、最小化、关闭相关处理
- 拖动无标题栏窗体
- 无标题栏窗体拖动
- Flex 窗体 最大化、最小化实例
- zoj_1909
- HTML 5研究资源
- Objective-C中的一些特殊的数据类型
- 睡前故事
- C# 使用sqlite 轻量级数据库
- qq项目第一天(java JFrame 标题栏 最小化 最大化 拖动窗体)
- POJ 3914 Dull windows中动态链接库DLL在内存中的加载 算法模拟
- 解决iPhone网络软件在睡眠情况断线问题
- 将字符转换为键盘码的代码
- 实战技巧:goto语句的替代实现方式
- Linux 磁盘分区和文件系统
- UML--类图
- 用Git+Sphinx记笔记?
- oracle 11g RAC 的一些基本概念(四)