jframe 最大、最小、关闭功能
1、屏蔽
现在我们创建一个类并继承于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);
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()
2、事件
this.addWindowListener(new WindowAdapter(){ //捕获窗口关闭事件 public void windowClosing(WindowEvent e){ //窗口关闭时的相应处理操作 } //捕获窗口最小化事件 public void windowIconified(WindowEvent e){ //窗口最小化时的相应处理操作
} });
|
分享到:
相关推荐
本教程针对初级学习者,旨在帮助他们掌握Swing的基本概念和组件使用。 首先,我们需要了解Swing的核心概念。Swing提供了一套丰富的组件库,这些组件可以用来创建各种用户界面元素,如按钮、文本框、菜单等。与早期...
在深入学习Java Swing的过程中,我们通常会经历初级、中级、高级以及特效这四个阶段的学习。 **初级篇:基础组件与布局管理** 在初级阶段,我们需要掌握Swing的基础组件,如JButton、JLabel、JTextField、JTextArea...
《五子棋Swing初级版实现详解》 五子棋是一种深受人们喜爱的双人对弈棋类游戏,它的规则简单而策略性丰富,适合各年龄段的玩家。在这个项目中,我们将探讨如何使用Java Swing库来创建一个初级版的人机对战五子棋...
在这个“Java Swing 初级”教程中,我们将深入探讨Swing的基础知识,包括组件的使用、布局管理以及事件处理。 1. **Swing组件**: Swing 提供了多种组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)...
总的来说,这个“房屋管理系统swing”是一个结合了Java Swing GUI技术和SQL数据库的初级项目,旨在帮助用户有效地管理和检索房产数据。它的价值在于提供了一个学习和实践Java桌面应用开发的实例,同时也为小型房地产...
然而,作为学习材料,它依然有价值,因为可以看到一个初级程序员如何使用`javax.swing` 实现分页功能。即使代码结构可能不是最优的,我们仍然可以从中学习到基础的GUI布局管理、事件处理以及数据分页的基本概念。 *...
这份"java 初级学习资料PDF"包含的四个部分——SE2、OOP、Core、SE1,分别对应了Java的不同核心概念和技术。 1. **SE1(Java Standard Edition 1)**:这是对Java初学者的基础部分,主要涵盖了Java语言的基本语法,...
"Swing1"这个文件名可能指的是Swing的基本概念或者初级教程,可能包含Swing组件的基本用法、事件处理、布局管理等内容。学习这个文档,开发者应该能够了解如何创建基本的Swing应用,如何添加组件,如何设置布局,...
这份"java初级学习资料.zip"压缩包显然是为初学者准备的,旨在帮助他们掌握Java编程的基础。以下是一些核心的Java学习知识点,涵盖了这个阶段通常会接触到的内容: 1. **Java语法基础**:学习任何编程语言,首先...
Java Swing 是Java编程环境中用于构建图形用户界面(GUI)的一个...总之,"一些简单的JAVA初级界面"是一个很好的起点,通过学习和实践,开发者能够逐步掌握Java Swing的基本功能,为构建更复杂的GUI应用打下坚实基础。
9. **Java Swing和JavaFX**:这两是Java的图形用户界面(GUI)开发库,学习者会学习如何创建窗口应用,添加组件,处理用户交互。 10. **编译与运行**:理解如何使用javac编译Java源代码,以及如何使用java命令运行...
这个“java学习初级课件mht格式”是专为初学者设计的一系列教学资源,旨在帮助新接触Java编程的人快速掌握基础知识。 MHT(MHTML)格式是一种单一文件格式,它能将网页的所有内容,包括文本、图像、脚本等,都存储...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和强大的...这些知识点构成了Java初级学习的基础。通过深入学习并实践这些内容,你可以逐步建立起坚实的Java编程基础,为进阶学习和实际项目开发做好准备。
【JAVA初级飞机大战源码】是一个适合初学者实践的项目,它基于JAVA编程语言,旨在帮助刚刚接触Java基础和面向对象编程的学员巩固所学知识。这个项目通过模拟经典游戏"飞机大战",让学习者在实践中理解并应用Java语言...
这个“Java初级案例源码.rar”文件显然包含了适合初学者学习的Java编程实例。通过分析和运行这些源代码,新手可以更好地理解Java语言的基础概念和语法。 首先,"初级"标签表明这些案例适用于那些刚刚接触编程或者...
本文件展示了一个用Java语言开发的小型系统——学生信息管理系统,该系统使用了 Swing 图形用户界面组件库来完成交互界面的设计,包含了学生基本信息(如学号、姓名、年龄和专业)的增加、查询、修改与删除等主要...
在编程领域,用Java语言开发游戏是一种常见的实践,其中,俄罗斯方块作为一款经典的游戏,是初学者学习游戏编程的理想选择。本项目"java俄罗斯方块初级版"旨在帮助开发者了解如何用Java实现这一经典游戏的基本功能。...
【五子棋小游戏(初级版本)】是一款适合Java初学者实践编程技能的项目。这个小游戏的开发可以帮助学习者深入理解...同时,这也是一个很好的起点,为进一步学习Java Swing应用、游戏开发甚至是AI算法打下坚实的基础。
"Java初级案例源码"这个资源对于初学者来说是极好的学习材料,它提供了实际编程练习,帮助理解Java语言的基本概念和语法。 1. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔...
5. "java仓库管理系统初级":这个文件名可能表示这是一个初级版本的系统,可能包含基础功能,如入库、出库、库存查询等,后续可能还有更高级的版本,添加了更多的功能和优化。 整体来看,这个Java Swing仓库管理...