【发布时间】:2014-08-02 06:47:29
【问题描述】:
我是制作 GUI 的新手,所以我决定尝试使用 Eclipse 的 windows builder,虽然很棒,但我确实有一些疑问。我一直在搜索,但找不到将背景图像添加到“菜单”的好方法。例如我试过这个:
public Menu() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(50, 50, 300, 250); //Dimensiones
contentPane = new JPanel() { //Imagen de Fondo
public void paintComponent(Graphics g) {
Image img = Toolkit.getDefaultToolkit().getImage(
Menu.class.getResource("/imgs/rotom.jpg"));
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
};
并添加以下类:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
但无济于事,窗口仍然是暗灰色,到目前为止,我的代码只是 WindowsBuilder 为您烹制的标准代码加上 4 个按钮,但我怀疑它们在这里是否重要。我添加的代码不应该覆盖 jPanel 的 paintComponent() 方法并在其中绘制图像吗?
菜单的类在我的项目中的一个包中,图像在一个 imgs 包中,也在同一个项目中。
非常感谢。
【问题讨论】:
-
不要尝试在paint方法中加载资源。将它们作为类属性加载并简单地在paint中绘制它们。
-
@AndrewThompson 对不起,我说我对此很陌生,你认为你可以给我一个例子吗?
-
我也推荐使用
ImageIO.read(URL)来加载图片,因为它提供了更多失败的反馈。 -
“你觉得你能给我举个例子吗?” 你觉得你能付钱给我吗? SO 是一个问答网站,而不是代码生成工厂。
-
@CodeGrasshopper: 请看看如何add images to Eclipse Project。希望这可能会有所帮助:-)
标签: java image swing jpanel embedded-resource