java 按钮加图片相关问题

显示出来的效果是这样的,怎么处理还有为什么还是出现了按钮啊... 显示出来的效果是这样的,怎么处理
还有为什么还是出现了按钮啊
展开
 我来答
好东东fhh
2015-06-27 · TA获得超过190个赞
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:190万
展开全部

因为它的原理是图片是覆盖在按钮上,所以当图片的面积小于按钮的面积时,按钮的其余部分就会被显示出来。我写了段代码来修复这个问题(图片最好不要有透明背景的,否则图片的透明部分会被显示成如上图图片覆盖不到的地方)。

代码使用方法是

all a=new all(图片地址,按钮的宽度,按钮的高度);
JButton jb=new JButton(a.back());
你也可以吧这段代码打包成jar,以后需要使用就直接import就行了。

class all {//all可以改成别的,但引用时注意就好了。
private  int width,height;
private Image image=null;
private  ImageIcon result=null;
public all(String path,int width,int height) {
result=new ImageIcon(path);
image=result.getImage();
this.width=width;
this.height=height;
design();
}

public void design(){
BufferedImage bi=new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d=bi.createGraphics();
g2d.drawImage(image, 0, 0, width, height, null);
image=bi.getScaledInstance(width, height, Image.SCALE_SMOOTH);

result.setImage(image);
}
public ImageIcon back(){
return result;

}


}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式