Java的drawImage方法没有显示图像

时间:2015-05-10 11:32:48

标签: java javax.imageio drawimage

我是Java编程的初学者,我正在使用NetBeans。下面的代码运行并显示No Error但没有看到图像!此图片位于"框架中#34;这两个类旁边的包。

package frame;

import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Screen extends JPanel{

    private BufferedImage image;

    public Screen(){
        try {
            System.out.println("OK");
            image = ImageIO.read(getClass().getResourceAsStream("phantomPDF.png"));
        } catch(IOException e) {
            e.printStackTrace();
        }

    repaint();
    }

public void paint(Graphics g){
    g.drawImage(image, 100, 100, null);
    System.out.println("Yes");
    }

}

这是我的框架和主要方法:

package frame;

import java.awt.GridLayout;
import javax.swing.*;

public class Frame extends JFrame{

    Screen s;

    public Frame() {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 600);
        setResizable(false);
        setTitle("Graphics");
        setVisible(true);

        init();

    }


    public void init(){
        setLocationRelativeTo(null);

        setLayout(new GridLayout(1, 1, 0, 0));

        s = new Screen();
        add(s);


   }

    public static void main(String[] args){
        new Frame();
    }
}

1 个答案:

答案 0 :(得分:0)

我不得不把#34;尝试 - 抓住"陈述" paint"因为现在工作正常......但为什么我应该这样做?