1.使用JLabel组件来显示图片
JLabel 的构造方法:
JLabel()
JLabel(String text)
JLabel(String text, int horizontalAlignment)
JLabel(Icon image)
JLabel(Icon image, int horizontalAlignment)
JLabel(String text, Icon image, int horizontalAlignment)
/**
* text:显示的文本
* image:显示的图片
* horizontalAlignment: 标签内容(在标签内)的水平对其方式(竖直方向默认居中, 可通过方法设置)
*
*/
使用Icon实例获取图片资源,一般用ImageIcon来穿建图片对象。
ImageIcon icon = new ImageIcon("src/main/resources/title.jpeg");
其他实例创建的方法:
// 方法一: 通过 java.awt.Toolkit 工具类来读取本地、网络 或 内存中 的 图片(支持 GIF、JPEG 或 PNG)
Image image = Toolkit.getDefaultToolkit().getImage(String filename);
Image image = Toolkit.getDefaultToolkit().getImage(URL url);
Image image = Toolkit.getDefaultToolkit().createImage(byte[] imageData);
// 方法二: 通过 javax.imageio.ImageIO 工具类读取本地、网络 或 内存中 的 图片(BufferedImage 继承自 Image)
BufferedImage bufImage = ImageIO.read(File input);
BufferedImage bufImage = ImageIO.read(URL input);
BufferedImage bufImage = ImageIO.read(InputStream input);
/*
* PS_01: 图片宽高: BufferedImage 可以通过 bufImage.getWidth() 和 bufImage.getHeight() 方法直接获取图片的宽高;
* Image 获取宽高需要另外传入一个 ImageObserver 参数。
*
* PS_02: 图片裁剪: BufferedImage 通过 bufImage.getSubimage(int x, int y, int w, int h) 方法可以截取图片的
* 任意一部分,返回一个新的 BufferedImage 实例。
*
* PS_03: 图片缩放: Image 通过 image.getScaledInstance(int width, int height, int hints) 方法可以对图片进行
* 缩放,返回新的一个 Image 实例。
*/
设置图片大小:
icon.setImage(icon.getImage().getScaledInstance(width,height,Image.SCALE_DEFAULT));
图像部分代码:
JPanel titlePanel = new JPanel();
ImageIcon icon = new ImageIcon("src/main/resources/title.jpeg");
JLabel titleLabel = new JLabel();
titlePanel.setBounds(0,0,800,500);
icon.setImage(icon.getImage().getScaledInstance(titlePanel.getWidth(),titlePanel.getHeight(),Image.SCALE_DEFAULT));//设置图像大小
titleLabel.setIcon(icon);
titlePanel.add(titleLabel);
this.add(titlePanel,BorderLayout.NORTH);
效果图:
PS:附免费图片资源网站:https://www.pexels.com/zh-cn/
参考:https://blog.csdn.net/xietansheng/article/details/72814492