无法在Graphics类中使用drawImage方法绘制图像

时间:2017-06-25 09:36:57

标签: java

public class Images extends Frame{
    static Image img;
    Images(){
        Image img = Toolkit.getDefaultToolkit().getImage("C:\Users\HP-PC\Desktop\104APPLE\two.jpg"); 

        MediaTracker track = new MediaTracker(this);
        track.addImage(img, 0);
        try{
            track.waitForID(0);
        }catch(InterruptedException ie){}

        this.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
    }
    public void paint(Graphics g){
        g.drawImage(img,200, 200, null);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Images i = new Images();
        i.setSize(400,400);
        i.setVisible(true);
        i.setIconImage(img);
        i.setTitle("Not Working...");
    }

}

我提供了图片的本地路径,但它无法正常工作。 相反,它显示错误Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
当我用\替换\\\时,错误消失但图像无法加载 请帮忙。

1 个答案:

答案 0 :(得分:0)

你需要在字符串文字中加倍\个字符(不是单个或三个),如下所示:

Image img = Toolkit.getDefaultToolkit().getImage("C:\\Users\\HP-PC\\Desktop\\104APPLE\\two.jpg"); 

有关详细信息,请参阅here,所有带有正分数的答案都很有趣。