Java自定义图片按钮
Posted YQS_Love
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java自定义图片按钮相关的知识,希望对你有一定的参考价值。
一、问题描述
Java中常用的按钮有两种,一种谁AWT里面的Button,另一是Swing里的JButton。但是它们的样子实在是长得很抱歉。Java也提供了一些方法,可以设置按钮的背景图片,不过效果的话(图1),还不如不设置。接下来,我将我知道的制作一个漂亮的按钮的方法分享给大家。
图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);
以上是关于Java自定义图片按钮的主要内容,如果未能解决你的问题,请参考以下文章