目录
效果图
大致思路
1.把swing窗体原始的边框去除
代码很简单
setUndecorated(true);
左图->右图
2.在空的窗体内添加按钮,并给按钮,背景设置图片
设置图片:
ImageIcon i=new ImageIcon("图片的url");//对标签同样适用
JButton b1=new JButton("1");
b1.setIcon(i);
左图->右图
3.给按钮设置事件监听,如点击最小化按钮,窗体最小化,重新设置按钮坐标(考虑到最大化问题)
窗体最小化操作:
setExtendedState(JFrame.ICONIFIED);// 窗体最小化
窗体最大化操作:
setExtendedState(JFrame.MAXIMIZED_BOTH);// 最大化窗体
窗体正常化操作:
setExtendedState(JFrame.NORMAL);// 恢复普通窗体状态
更改位置
protected void do_topPanel_mousePressed(MouseEvent e) {
pressedPoint = e.getPoint();// 记录鼠标坐标
}
protected void do_topPanel_mouseDragged(MouseEvent e) {
Point point = e.getPoint();// 获取当前坐标
Point locationPoint = getLocation();// 获取窗体坐标
int x = locationPoint.x + point.x - pressedPoint.x;// 计算移动后的新坐标
int y = locationPoint.y + point.y - pressedPoint.y;
setLocation(x, y);// 改变窗体位置,(按钮可以使用边界布局,也可以使用绝对布局)
}
完整代码
为了方便参考,源码及图片资源
链接:https://pan.baidu.com/s/1KIvTieSDJcMXgMGYLI9vTQ
提取码:zyy6
将资源下载后,导入项目