当我们进行Java Swing 开发的时候经长会用到 JLabel,JLabel的界面经常会导致一个问题,就是图片和控件的适应问题,比如这样
你想象的是图片铺满整个label,但是实际效果却是这样,这时该怎么办呢?
你可以参考一下这篇博客https://blog.csdn.net/bobo1356/article/details/52917304(侵权则删)
在博客中这个大佬对图片自适应的原理进行了分析和讲解,对相关方法进行了讲解,大家可以进行参考,学习。
受到这位大佬启发,我对这种方法直接进行了封装,写了一个工具类。在此记录并和各位进行分享。
/*java中设置图片自适应Jlable的大小*/ import javax.swing.*; import java.awt.Image; public class testImage extends JFrame { public testImage(String path,JLabel lable1) { ImageIcon image; image = new ImageIcon(path); // image.setImage(image.getImage().getScaledInstance(width, height,Image.SCALE_DEFAULT)); Image img = image.getImage(); img = img.getScaledInstance(444,472, Image.SCALE_DEFAULT); image.setImage(img); lable1.setIcon(image); } // public static void start(String path,JLabel label1) { // new testImage(path,label1); // } }
说明一下我进行了哪些操作,这张图片是大佬的代码,对比以西可以发现,我只是对路径进行了一个封装,设置了一个String类,并命名为path,相当于在使用时直接传入路径参数就行,但我们大多数人使用Swing开发的时候,都会用到很多的图片,所以直接调用会方便很多。