Java如何去掉JFrame上的最大化最小化和关闭按钮.doc_第1页
Java如何去掉JFrame上的最大化最小化和关闭按钮.doc_第2页
Java如何去掉JFrame上的最大化最小化和关闭按钮.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java-如何去掉JFrame上的最大化最小化和关闭按钮在JDK1.4以前,我们只有一种方式来去掉窗口的标题栏,那就是直接使用JWindow,用JWindow来代替JFrame使用。但用过JWindow的人一定知道,JWindow在操作系统的任务栏是不可见的,这样我们就无法在几个视窗之间来切换到这个窗口了。使用JWindow也是很多人知道的一种去掉标题栏的方式。但从Java1.4开始,有一种新的方式可以使用,我们来看看。现在我们创建一个类并继承于JFrame,public class DecoratedFrame extends JFrame public DecoratedFrame() this.getContentPane().add(new JLabel(Just a test.); this.setUndecorated(true); / 去掉窗口的装饰 this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);/采用指定的窗口装饰风格 this.setSize(300,150);public static void main(String args) JFrame frame = new DecoratedFrame(); frame.setVisible(true);请看加了注释的两行,要去掉标题栏,关键代码就是这两行,第1行去掉窗口的装饰,第2行为窗口指定头饰风格。在这里,可以通过调用this.getRootPane().setWindowDecorationStyle()方法为窗口指定以下的装饰风格:NONE 无装饰(即去掉标题栏)FRAME 普通窗口风格PLAIN_DIALOG 简单对话框风格INFORMATION_DIALOG 信息对话框风格ERROR_DIALOG 错误对话框风格COLOR_CHOOSER_DIALOG 拾色器对话框风格FILE_CHOOSER_DIALOG 文件选择对话框风格QUESTION_DIALOG 问题对话框风格WARNING_DIALOG 警告对话框风格在使用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);elsejFrame.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.setL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论