java 按钮加图片相关问题

java 按钮加图片相关问题,第1张

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

代码使用方法是

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

}

}

public class CreateIcon {

static String path=System.getProperty("user.dir")+"\\WebRoot\\Img\\"

public static ImageIcon add(String ImageName){

ImageIcon icon = new ImageIcon(path+ImageName)

return icon

}

}

先定义一个方法,然后下面调用,注意把图片放在项目的WebRoot\\Img的目录下即可

final JLabel label = new JLabel()

ImageIcon loginIcon=CreateIcon.add("backImg.jpg")

label.setIcon(loginIcon)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11554774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存