- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自定义最大化最化和关闭按钮
自定义桌面最大化最小化和关闭按钮
1、取消窗体修饰
JFrame窗体默认采用本地系统的窗体修饰,如里需要根据我们的想法来定的话,那我们我先要取消窗体修饰setUndecorated()方法来实现。
public void setUndecorated(boolean undecorated)
2、设置按钮外观
设置鼠标经过图标
setIcon()方法可以为鼠标设置普通状态图标之外,还可以设置按钮的其他状态图标,如设置鼠标经过按钮时显示图标。setRolloverIcon();
public void setRolloverIcon(Icon rolloverIcon)
说明:
rolloverIcon:鼠标经过按钮时显示图标对象
取消鼠标外观
button.setFocusPainted(false);//取消焦点绘制
button.setBorderPainted(false);//取消边框绘制
button.setContentAreaFilled(false);//取消内容绘制
这3个方法分别取消了按钮的焦点绘制、边框绘制以及内容绘制,这样按钮就没有外观和任何效果了,就象窗体取消修饰效果一样。
3、改变窗体状态
自定义最小化,最大化,都需要控制窗体的状态,这需要通过JFrame类的setExtendedState()
public void setExtendedState(int state)
state参数说明
枚举值 描述 ICONIFIED 最小化的窗口 NORMAL 默认大小的窗口 MAXIMISED_HORIZ 水平方向最大化窗口 MAXIMIZED_VERT 垂直方向最大化窗口 MAXIMIZED_BOTH 水平与垂直方向都最大化的窗口
package com.swing05;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
/**
* 带背景的面板组件
*
* @author ZhongWei Lee
*/
public class BackgroundPanel extends JPanel {
/**
* 背景图片
*/
private Image image;
/**
* 构造方法
*/
public BackgroundPanel() {
super();
////如果为 true,则该组件绘制其边界内的所有像素
setOpaque(false);
//布局格式
setLayout(null);
}
/**
* 设置图片的方法
*/
public void setImage(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {// 重写绘制组件外观
if (image != null) {
int width = getWidth();// 获取组件大小
int height = getHeight();
g.drawImage(image, 0, 0, width, height, this);// 绘制图片与组件大小相同
}
super.paintComponent(g);// 执行超类方法
}
}
package com.swing05;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.ImageIcon;
import javax.swing.JBu
原创力文档


文档评论(0)