Swing之美化最大化,关闭,最小化按钮,美化边框

大致思路

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

将资源下载后,导入项目

经验分享 程序员 微信小程序 职场和发展