Java自定义图片按钮

一、问题描述
Java中常用的按钮有两种,一种谁AWT里面的Button,另一是Swing里的JButton。但是它们的样子实在是长得很抱歉。Java也提供了一些方法,可以设置按钮的背景图片,不过效果的话(图1),还不如不设置。接下来,我将我知道的制作一个漂亮的按钮的方法分享给大家。

JButton设置背景图效果

            图1 JButton设置背景图效果

二、具体方法

1、在Java里,JLabel其实也是一个组件,也是可以充当JButton的,用它来设置一张背景图,绝不会出现JButton那样的效果,方法如下:

这里写图片描述

                                    图2 JLabel实现Button效果
ImageIcon icon = new ImageIcon("image\\start1.png");    
JLabel startGame = new JLabel(icon,SwingConstants.CENTER);

说明:这样的做法有个缺点,就是你的图片你必须包含菜单所要表达的意思,否则它仅仅是张图片而已,不过你也可以在JLabel的左边或者是右边添加文字描述。对于组件的监听事件,同JButton的一模一样。方法如下:

JLabel() 
          //创建无图像并且其标题为空字符串的 JLabel。 
JLabel(Icon image) 
         // 创建具有指定图像的 JLabel 实例。 
JLabel(Icon image, int horizontalAlignment) 
        //  创建具有指定图像和水平对齐方式的 JLabel 实例。 
JLabel(String text) 
        //  创建具有指定文本的 JLabel 实例。 
JLabel(String text, Icon icon, int horizontalAlignment) 
        //  创建具有指定文本、图像和水平对齐方式的 JLabel 实例。 
JLabel(String text, int horizontalAlignment) 
         // 创建具有指定文本和水平对齐方式的 JLabel 实例。 

2、有人说,我不想用JLabel,就是要用JButton。好的,没关系,就喜欢有个性的人。同样也可以做到,缺点同JLabel的一样,方法如下:

ImageIcon icon = new ImageIcon("image\\start1.png");
JButton startGame = new JButton();
//设定透明效果
startGame.setOpaque(false);  
//去掉背景点击效果
startGame.setContentAreaFilled(false);  
//去掉聚焦线
startGame.setFocusPainted(false);
//去掉边框
startGame.setBorder(null); 
//设置显示的图片
startGame.setIcon(icon);
  • 11
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值