java - 使用 JLabel 和插入其中的图像设置背景

标签 java background imageicon

我一直在做一个有趣的小项目,我目前正在研究背景,但它真的很小,为了改变这一点,我将尺寸设置为最大屏幕尺寸(该项目是全屏的)

    public void setBackground(JLabel bg) {

    bg = new JLabel(new ImageIcon(this.getClass().getResource("/Background.gif")));

    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int width = (int) d.getWidth();
    int height = (int) d.getHeight();
    bg.setSize(width, height);
    add(bg);

}

但是,它确实增加了 JLabel 大小,但没有增加实际图像大小,这是为什么?

编辑:

我已经找到了一种方法来做到这一点,但似乎没有找到指定的路径!我已经创建了一个资源文件夹来存储它(Eclipse 中的源文件夹),我将其放在那里,但它无法读取输入文件。

    public void setBackground(JLabel bg) {
    try {
        img = ImageIO.read(new File("/Background.gif"));
    } catch(Exception e) {
        e.printStackTrace();
    }
    ImageIcon imgi = new ImageIcon(fitimage(img, bg.getWidth(), bg.getHeight()));

    bg.setIcon(imgi);

    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int width = (int) d.getWidth();
    int height = (int) d.getHeight();
    bg.setSize(width, height);
    add(bg);

}

private Image fitimage(Image img , int w , int h) {
    BufferedImage resizedimage = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
    Graphics2D g2 = resizedimage.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    g2.drawImage(img, 0, 0,w,h,null);
    g2.dispose();
    return resizedimage;
}

最佳答案

在应用程序中使用图像之前,您可能需要先调整图像大小。它必须与您的标签尺寸相同。无论图像的实际大小是多少,Java 都会将其显示为该大小,并且不会根据您的标签自动调整其大小

关于java - 使用 JLabel 和插入其中的图像设置背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36679413/

相关文章:

java - 运行 ignite 服务器节点

java - Android 上的 OpenGL : Any conflicts when calling OpenGL functions in both Java and C++?

background - Unity 中的 Kinect 游戏 : How to do background removal

java - 在 JLabel 中以不同方式对齐文本和图标

java - 无法在 JFrame 中显示 JPEG 图像

java - JLabel 图像数组

java - 转换为 java.util.Date 时出现 Joda LocalDateTime IllegalFieldValueException

java - 解析 PDF 表格并将其显示为 CSV(Java)

c# - UWP在启动时启动后台任务

java - 在 JTextPane (Java Swing) 中更改段落的背景颜色