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

 将资源下载后,导入项目

eclipse如何导入外部项目包详解_无忧#的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_52473454/article/details/121698310