java - 如何在 Eclipse Helios 中设置 JFrame 或 JPanel 背景图片

标签 java eclipse image background windowbuilder

我用谷歌搜索并找到了代码:

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ImageTest {

  public static void main(String[] args) {
    ImagePanel panel = new ImagePanel(new ImageIcon("background.png").getImage());

    JFrame frame = new JFrame();
    frame.getContentPane().add(panel);
    frame.pack();
    frame.setVisible(true);
  }
}

class ImagePanel extends JPanel {

  private Image img;

  public ImagePanel(String img) {
    this(new ImageIcon(img).getImage());
  }

  public ImagePanel(Image img) {
    this.img = img;
    Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
    setPreferredSize(size);
    setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
    setLayout(null);
  }

  public void paintComponent(Graphics g) {
    g.drawImage(img, 0, 0, null);
  }
}

当我创建 ImageTest.java 文件并将 background.png 放在同一文件夹中时,这对我有用。

但是当我将相同的代码与图像一起粘贴到 Eclipse IDE(在默认包中)时,它不会将图像设置为背景。实际上它没有找到图像,这就是原因。

我试过将它们放在同一个包中;即使那样它也找不到图像,所以没有输出。

我尝试打开工作区 > 项目文件夹 > war > WEB-INF > classes 然后从cmd编译程序。仍然没有显示。

不知道是什么问题。任何知道任何解决方案的人都是最受欢迎的。

提前致谢。

也欢迎将背景直接设置到框架上......

我已经使用代码完成了所有这些工作,但是当它可以正常工作时,我将转向用于 GUI 的 Windows 构建器。那么,您的帮助是否也适用于 Window Builder?

最佳答案

..new ImageIcon("background.png")..  

这是加载不提供反馈的图像的愚蠢(但常见)方式1

您很可能会发现 background.png 不再是文件,而是现在的 Jar 的一部分。在这种情况下,访问它的方法是使用从 Class.getResource() 获得的 URL

  1. 加载图像的聪明方法是使用 ImageIO ,如果无法加载图像,它会抛出有用且信息丰富的异常。

关于java - 如何在 Eclipse Helios 中设置 JFrame 或 JPanel 背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816403/

相关文章:

java 程序下载文件已损坏。为什么?

java - 仅使用扫描仪读取应用程序中的txt文件

java - 动态分配给变量的类类型

eclipse - Tomcat 服务器和与 Eclipse 链接的 Tomcat 有什么不同吗?

Java/Eclipse 如何获取项目中类型方法的用法?

java - Eclipse 中的 M2E 给出了 maven-compiler-plugin 错误,但是 Maven 安装没问题

javascript - 使用 v-for 时的 Vue.js Assets 文件路径

css背景图片定位

java - 在 JBoss 5.1 中的队列中查找 JMS 消息的简单 Web 应用程序

java - 无法在eclipse中启动tomcat服务器