Java将图像填充到标签中

Java将图像填充到标签中,java,swing,awt,imageicon,Java,Swing,Awt,Imageicon,我有一个固定大小的标签来显示图像。如何调整图像大小以适应标签,填充。我当前的代码如下,是设置标签的图像大小,我想反过来 代码 所以,若你们有一个固定大小的标签,你们可以简单地将图像读取为BuffereImage对象,然后将其缩放到标签的大小。之后,您可以创建一个图标并将其设置为JLabel的图标。下面的代码应该可以工作: File imageFile = new File("image.jpg"); BufferedImage bufImg = null; try { bufImg =

我有一个固定大小的标签来显示图像。如何调整图像大小以适应标签,填充。我当前的代码如下,是设置标签的图像大小,我想反过来

代码
所以,若你们有一个固定大小的标签,你们可以简单地将图像读取为BuffereImage对象,然后将其缩放到标签的大小。之后,您可以创建一个图标并将其设置为JLabel的图标。下面的代码应该可以工作:

File imageFile = new File("image.jpg");
BufferedImage bufImg = null;

try {
    bufImg = ImageIO.read(imageFile);
} catch (IOException e) {
    e.printStackTrace();
}

BufferedImage scaledImg = bufImg.getScaledInstance(Label.width, Label.height, Image.SCALE_SMOOTH);

Label.setIcon(new ImageIcon(scaledImg));

你可以用Darryl的。图标将根据标签的可用空间调整大小。

谢谢你给了我一些想法。但我使用的不是BuffereImage,而是image,因为它给了我一些错误。基本上,我不是从文件中读取图像,而是转换为bytearray。无论如何,我设法让图像的大小工作感谢。
File imageFile = new File("image.jpg");
BufferedImage bufImg = null;

try {
    bufImg = ImageIO.read(imageFile);
} catch (IOException e) {
    e.printStackTrace();
}

BufferedImage scaledImg = bufImg.getScaledInstance(Label.width, Label.height, Image.SCALE_SMOOTH);

Label.setIcon(new ImageIcon(scaledImg));