java - 无法让 DrawImage 在 Java 中工作

标签 java image swing drawimage

package chapter4;

import java.awt.Color;
import java.awt.Graphics;``
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.JFrame;

/**
 *
 * @author Ale
 */
public class DrawImage extends JFrame{
    private Image image;
    public static void main(String[] args){
        new DrawImage();
    }

    public DrawImage(){
        super("DrawImage");
        setSize(600,600);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Toolkit tk= Toolkit.getDefaultToolkit();
        image= tk.getImage(getURL("yoshi.PNG"));                

    }

    private URL getURL(String filename){
        URL url;
        try{
            url= this.getClass().getResource(filename);
        }
        catch(Exception e){}
        return null;
    }

    /**
     *
     * @param g
     */
    @Override
    public void paint(Graphics g){
        Graphics2D g2d=(Graphics2D) g;
        g2d.setBackground(Color.WHITE);
        g2d.fillRect(0, 0, getSize().width, getSize().height);

        g2d.drawImage(image, 20, 40, this);
    }

}

图像与此类位于同一文件夹中,但它给我错误并且不显示图像。这些是错误:

Uncaught error fetching image:
java.lang.NullPointerException
    at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:115)

还有一些类似的。需要帮助请。该文件是马里奥的yoshi的png文件

最佳答案

您从 getUrl() 方法返回 null。您需要返回 url 对象。

关于java - 无法让 DrawImage 在 Java 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19696142/

相关文章:

php - 没有产品被添加到数据库

java - 如何将 Java bean 属性设置为专家属性?

Java 线程 - 获取 ServerSocket 输入来更新 Swing

java - 禁用后对 jButton 执行的操作

java - 我可以通过 Spring Webflow 2.1.1 运行 Webflow 1.0 流吗?

java - 具有 MongoDB Java 集合的动态 POJO 类型

image - Safari 中可怕的图像边框半径

javascript - 带有 JS 的响应式/自适应 Web 的图像

java - Android ListView ,如何无边距定位 ListView ?

java - 从 cmd 运行 pentaho Kettle。如何将源文件作为参数发送?