2

我阅读了一些关于 SO 的问题,但我正在努力拉伸图像以适应 JLabel。我有一个 Derby DB,它确定使用哪个图像。下面的代码是 catch 代码,但其他代码使用相同的方法。

我有以下编码:(实验)

    import java.awt.Image;
    import javax.swing.ImageIcon;
    import java.awt.Graphics;
    import java.awt.Toolkit;
    ...
//On Window Load, this happens
    Toolkit toolkit1 = Toolkit.getDefaultToolkit();
    Image image1 = toolkit1.getImage("unknown.png");
    Image scaledImage1 = image1.getScaledInstance(232, 177, Image.SCALE_DEFAULT);
    ImageIcon profilepic1 = new ImageIcon(scaledImage1);
    lblImg.setIcon(profilepic1);

JFrame: 游戏时间! 预测应用

JLabel 是具有默认文本“功能即将推出!”的标签。它的尺寸为 232 x 177,我希望图像可以拉伸(更小)以适合该 JLabel。

谁能帮助我并解释我做错了什么?谢谢!

4

3 回答 3

0

您应该可以使用 Darryl 的Stretch Icon

于 2013-10-09T20:20:29.327 回答
0

您可以使用的一种方法是使用ImageIcon。然后,您可以调整 ImageIcon 的大小以满足您的需要。看看教程: http: //www.coderanch.com/t/331731/GUI/java/Resize-ImageIcon

方法如下:
1. 加载您的ImageIcon
2. 准备您的 GUI。
3. 然后,获取JComponent您打算显示图像的位置的测量值。说,一个JLabel
4. 获取图片的宽高后JLabel,可以按照教程中的说明调整图片大小。

这是 Mykong 的一个:http ://www.mkyong.com/java/how-to-resize-an-image-in-java/

于 2013-10-09T16:47:48.490 回答
0

这些不是可分割的图像,所以下面的代码很好地解决了我的问题

jlbl.setIcon(new ImageIcon("d:/azam/tulpiss.jpg));
jlbl.setBounds(10,10,180,80);
于 2015-11-25T15:34:18.130 回答