【问题标题】:Java - JPanel can't draw background imageJava - JPanel 无法绘制背景图像
【发布时间】:2014-12-01 01:44:03
【问题描述】:

我正在学习如何在 java 中使用 Gui。目前我正在尝试制作一个简单的程序来打开一个 Gui 并将图像绘制到背景。问题是背景是完全白色的,而不是图像。

代码:

Main.java:

package com.flaghacker.buckygame;

public class Main
{
    public static void main(String[] args)
    {
        GuiFrame guiFrame = new GuiFrame();
    }
}

GuiFrame.java:

package com.flaghacker.buckygame;

import javax.swing.JFrame;

public class GuiFrame extends JFrame
{
    private GuiPanel guiPanel;

    public GuiFrame()
    {
        //General
        super("Title");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Size
        this.setSize(1100, 650);
        this.setResizable(true);

        //Components
        guiPanel = new GuiPanel();
        this.add(guiPanel);

        //Final
        this.setVisible(true);
    }
}

GuiPane.java:

package com.flaghacker.buckygame;

import javax.swing.ImageIcon;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Image;

public class GuiPanel extends JPanel
{
    private Image backGround;

    public GuiPanel()
    {
        backGround = new ImageIcon("D:\\Install\\Java Projects\\Testing\\Bucky\\Back.jpg").getImage();
    }

    @Override
    public void paint(Graphics g)
    {
        super.paint(g);
        g.drawImage(backGround, 0, 0, null);
    }
}

【问题讨论】:

    标签: java jpanel


    【解决方案1】:

    我测试了你的代码,它可以工作......可能的问题是两个

    首先)你的图片不在

    "D:\\Install\\Java Projects\\Testing\\Bucky\\Back.jpg"

    我建议你使用

    "D:/Install/Java Projects/Testing/Bucky/Back.jpg"

    并验证 不区分大小写。

    第二)图像 Back.jpg 的宽度和高度更高,为 1100 650,因此您只显示图像的左上角

    【讨论】:

    • 我查得很仔细,扩展名是.png而不是.jpg。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2013-04-10
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多