- 浏览: 253022 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (194)
- java (23)
- 数据结构和算法 (5)
- oracle (7)
- sql server (1)
- mysql (5)
- Ajax (5)
- JSTL (7)
- jsp (20)
- 组件 (11)
- C++可视化 (0)
- javascript (14)
- c/c++ (0)
- XML (6)
- 只是扩宽 (0)
- 设计模式 (3)
- 正则表达式 (3)
- 心情和感悟 (4)
- ACM (3)
- HTML/css (9)
- 软件破解 (2)
- spring (1)
- struts (15)
- hibernate (10)
- Servlet (2)
- sql (2)
- 面试题 (1)
- struts2 (22)
- Unix/Linux (0)
- javamail (1)
- svn (1)
- 异常 (3)
- EJB (3)
- jquery (2)
- android (1)
最新评论
-
lianlupengUestc:
From my testing (Struts2 versio ...
struts2 注解 -
yulongxiang:
非常感谢!!!!!!!
使用动态ActionForm(转)
关键字: 去掉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);
else
jFrame.setExtendedState(jFrame.NORMAL);
// 最大化或正常状态
System.exit(0);
// 关闭,退出程序
3) 要拖动窗体的功能:
只要给窗体中的某个组件添加如下代码就行了:
在初始化该组件的时候调用 setDragable() 就可以使组件具体拖放窗体的功能了。因为可能有背景图,可能会重写paint方法,不能在paint方法中调用setDragable()
在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);
else
jFrame.setExtendedState(jFrame.NORMAL);
// 最大化或正常状态
System.exit(0);
// 关闭,退出程序
3) 要拖动窗体的功能:
只要给窗体中的某个组件添加如下代码就行了:
在初始化该组件的时候调用 setDragable() 就可以使组件具体拖放窗体的功能了。因为可能有背景图,可能会重写paint方法,不能在paint方法中调用setDragable()
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); } } }); }
发表评论
-
LTS 轻量级分布式任务调度框架(Light Task Schedule)
2015-03-07 09:53 8695LTS 轻量级分布式任务调度框架(Light Task Sch ... -
LTS 轻量级分布式任务调度框架(Light Task Schedule)
2015-03-07 09:52 0<div class="iteye-blog- ... -
Struts2.1 处理未知Action 和访问不存在的页面
2011-10-18 12:13 1369你可以配置个默认action,当请求的action不存在时,他 ... -
getRequestDispatcher()与sendRedirect()的区别
2011-09-28 00:49 1085getRequestDispatcher()与sendRedi ... -
java单例模式的几种写法
2011-07-05 19:52 1468private static final UserSe ... -
图片中文路径 不能显示处理
2011-04-09 22:33 1587在html页面中,引用了带汉字的图片,形如<img sr ... -
带html标签的中英文字符串截取之完整性
2011-04-05 23:50 1762需求一: 数据库中存储有一段带html标签的文字,如: & ... -
java清除html格式
2011-04-05 23:42 904s = s.replaceAll("(\\<\ ... -
jbpm步骤
2011-03-13 15:41 671理解JBPM(java Business Proces ... -
内部类
2010-09-20 13:21 957package InnerClass; //内部类可以继 ... -
Java的特点
2010-09-19 22:08 813Java是一种简单、动态、 ... -
初识JUnit
2010-09-19 00:09 1072package com.hugui.juint4; ... -
PropertiesEditor插件
2010-09-16 15:20 1336PropertiesEditor插件是一个资源文件编码转换插件 ... -
java对国际化的支持
2010-09-01 00:17 10471.缺省的Locale是由操作系统决定的 2.Locale是由 ... -
java中hashcode()和equals()的详解【转】
2010-08-31 18:30 8001. 首先equals()和hashcode() ... -
关于SimpleDateFormat
2010-08-30 23:39 802首先说明一下关键的参数 G 年代标志符 y 年 M ... -
Java中精确计算的一个类用BigDecimal
2010-08-30 23:38 1033/* * * 如果需要精确计算,非要用St ... -
InvocationTargetException
2010-08-30 23:32 2915InvocationTargetException 是一种包装 ... -
Class.forName()
2010-08-30 23:30 855在Java开发特别是数据库开发中,经常会用到Class.for ... -
字符码转换(一个小程序)
2010-08-30 23:29 995package test; public cla ...
相关推荐
如何去掉JFrame上的最大化最小化和关闭按钮 在Java中,JFrame是一个基本的GUI组件,用于创建窗口式应用程序。然而,在某些情况下,我们可能需要去掉JFrame上的最大化、最小化和关闭按钮,以实现自定义的窗体样式。...
本文将详细介绍如何禁用标题栏上的最大化、最小化和关闭按钮。 首先,对于桌面应用程序,禁用这些按钮通常涉及到修改程序的源代码。在使用C++、C#等编程语言编写应用程序时,可以通过设置窗口样式来实现。例如,在...
在实际应用中,这些函数通常与消息循环和事件处理相结合,以便在用户点击最大化或最小化按钮时响应。在多线程环境中,还需要注意同步问题,以确保正确处理窗口状态。 除了C++和Windows API,其他编程语言和平台也有...
JFrame 窗口包含标题、最小化按钮、最大化按钮和关闭按钮等元素。Swing 是 Java 平台的 UI 组件库,提供了处理用户和计算机之间全部交互的软件。 Swing 的角色是充当用户和计算机内部之间的中间人。它提供了处理 UI...
它提供了基本的窗口功能,包括窗口的大小调整、关闭、最小化和最大化等。在Java GUI编程中,JFrame是一个不可或缺的部分,用于构建图形用户界面(GUI)。让我们深入探讨一下JFrame的使用和相关知识点。 首先,创建...
在`JFrame`中,我们还可以自定义窗口的大小、位置、图标,设置窗口是否可最大化或最小化,是否允许用户改变窗口大小等。此外,通过继承`JFrame`并重写其方法,可以实现自定义的窗口行为。 总之,"JFrame框架的jar...
最后,在使用JFrame时,通常会包含标题、最小化按钮、最大化按钮以及关闭按钮。这些按钮是JFrame的内置组件,允许用户执行标准的窗口操作,比如最小化、最大化和关闭窗口。 综上所述,通过JFrame可以轻松地创建窗体...
`JFrame`是所有Swing应用程序的核心,它提供了窗口的基本结构,包括标题栏、边框、菜单栏以及关闭、最小化和最大化按钮。创建`JFrame`时,需要通过`new JFrame()`实例化,并调用`setVisible(true)`来显示窗口。 2....
在Java的GUI编程中,JFrame是构建桌面应用程序的基础,它提供了标准的窗口功能,如标题栏、边框、最大化和最小化按钮等。然而,在JDK1.4之前的版本,如果想要去除JFrame的标题栏以实现自定义界面,通常会使用JWindow...
对JFrame窗口进行了重写 最大最小化按钮可以改变(我用的是qq上的最大最小化按钮图标) 对JFrame进行更改 得到了自己想要的窗口 本窗口是用来做局域聊天窗口特别设计的 详细 内容 代码都有详细注释谢谢下载
这个方法用于将`JFrame`实例设置为最大化状态,覆盖整个屏幕。这对于希望应用程序全屏显示的情况非常有用,可以提供更广阔的可视空间,尤其是在处理大量数据或需要高分辨率显示的场景下。 ### 2. `setUndecorated...
在Java中,JFrame提供了窗口的基本功能,如标题、边框、菜单栏、最小化、最大化和关闭按钮等。开发者可以通过设置JFrame的各种属性,如大小、位置、可见性等,来定制自己的窗口。此外,还可以通过`add()`方法添加...
JFrame不仅提供了窗口的基本功能,如关闭、最小化和最大化,还允许自定义布局管理和事件处理。 首先,我们需要了解Java Swing。Java Swing是Java AWT(抽象窗口工具包)的扩展,提供了一组轻量级的组件,支持丰富的...
4. 设置窗口是否可最小化、最大化或关闭:`setResizable(boolean resizable)`、`setMaximizedBounds(Rectangle bounds)`、`setDefaultCloseOperation(int operation)`。 5. 添加组件:`add(Component comp, Object ...
在计算机软件开发中,尤其是图形用户界面(GUI)的设计,窗口的右上角通常包含一些重要的操作按钮,如最小化、最大化(恢复)和关闭按钮。这些按钮是用户与应用程序交互的重要元素,允许他们控制窗口的显示状态。在...
`JFrame`支持窗口事件,如窗口打开、关闭、最大化和最小化。这些可以通过注册`WindowListener`或使用`WindowAdapter`实现。 8. **设置窗口位置**: 使用`setLocation(int x, int y)`可以设置窗口在屏幕上的初始...
JFrame类提供了许多方法来定制窗口的行为和外观,如设置窗口的位置、大小、是否可最大化或最小化,以及添加组件。例如,`setResizable(false)`可以禁止用户改变窗口大小。`setLocationRelativeTo(null)`可以使窗口...
它提供了窗口的基本功能,如关闭、最小化和最大化按钮,以及默认的边框。创建一个`JFrame`对象后,开发者可以向其中添加各种组件,如按钮、文本框、标签等,以构建完整的图形用户界面(GUI)。 创建`JFrame`的基本...
在Java Swing中,默认情况下`JFrame`会显示系统提供的标准边框,包括标题栏、最大化/最小化按钮等。如果想要去除这些默认的装饰,可以通过调用`JFrame`的方法`setUndecorated(true)`来实现: ```java ...
通过`JFrame`,你可以设置窗口的大小、位置、标题,以及响应窗口事件,如关闭、最大化、最小化等。 描述中提到的`输入/输出流`是Java I/O(Input/Output)的基础概念。Java I/O系统允许程序处理数据的读取和写入,...